移植的WebSphere應用程序的開發,以TOMCAT 7運行Java 6啓動Web應用程序跑和爲WebSphere
我們只是想看看是否可以做到這一點。我們不使用EJB。該應用程序已有10年曆史,並連接到Oracle數據庫(11g)。我們一直在增加它並修改它,因爲它在大量使用。它一直在Websphere 6.1下運行,並且有幾個JAX-RPC web服務。我將它運行在WebSphere 8.5上,但現在的成本已經降低,我們決定嘗試TOMCAT 7和JUNO。
由於這是一家IBM商店,我還沒有廣泛使用Tomcat。更多的應用似乎使用Tomcat,所以我非常樂意學習。我安裝了Eclipse - Juno,並在我的工作空間中創建了新的動態Web項目後引入了應用程序文件。我們的應用程序被部署爲一個EAR文件,但在這裏我要將它部署爲一個WAR文件。構建時有很多警告和錯誤。
我安裝了TOMCAT並使用我在網上發現的一個小webServices應用程序教程進行了測試,該教程已部署並正確運行。我把服務器帶入我的項目。
通過查找jar文件並將它們移動到WEB/lib或Tomcat lib目錄中,可以快速解決大多數編譯錯誤。例如,ojdbc6.jar文件位於Tomcat庫中。
我現在不打算進行最佳配置,我們只是想看看我們是否能夠實現這個目標。這就是爲什麼我將com.ibm.ws.runtime.jar移動到應用程序的WEB-INF庫中以清除大多數編譯錯誤。我們絕對不希望繼續使用,但如果我們能夠實現這一點,我們將進一步努力,並嘗試刪除Web服務的再生產。我很快得到了一個乾淨的編譯。
我確實獲得了Data Source Explorer來將數據庫連接識別爲旁白,但我在啓動應用程序時遇到了問題。這是我所做的。
在我的應用程序的web.xml文件的頂部加我爲Oracle數據庫中的條目可以看到下面:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>SupplierNetRelease</display-name>
<resource-ref>
<description>SupplierNet Oracle Database</description>
<res-ref-name>jdbc/SupplierNetDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<servlet>
<display-name>MsgLogin</display-name>
<servlet-name>MsgLogin</servlet-name>
<servlet-class>com.alstom.power.suppliernet.servlets.MsgLogin</servlet-class>
</servlet>.........
我想知道我是否應該重新生成這個文件這是僅僅指剛在移植與應用?它顯示的Web應用程序版本=「2.5」,雖然Tomcat 7與3.0相信。
在Tomcat的context.xml文件我補充說:
...<Resource name="SupplierNetDataSource"
auth="Container"
type="javax.sql.DataSource"
username="xxxxxx"
password="xxxxxx"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:supnjttx"
maxActive="10"
maxIdle="4"/>
</Context>
我做任何更改到server.xml文件中作爲尚未。在tomcat-Users.xml中,我將自己添加爲manager-gui。我們不希望任何其他應用程序在我們的服務器上運行。 我不知道是否要在GlobalNamingResources部分添加任何內容,儘管有些文檔似乎暗示了這一點。
當我第一次啓動服務器時,我得到了一個xml解析錯誤,我沒有找到它,但是現在的情況是坐着,錯誤沒有出現。 我現在得到一個'無法啓動組件'(參見下文)'由於:java.lang.IllegalArgumentException:無效的服務/ Au servlet映射中的風險「等等。
INFO: Initializing ProtocolHandler ["http-apr-8080"]
Jun 4, 2013 10:36:56 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
Jun 4, 2013 10:36:56 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 633 ms
Jun 4, 2013 10:36:56 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jun 4, 2013 10:36:56 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.40
Jun 4, 2013 10:36:56 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive D:\apache-tomcat-7\apache-tomcat-7.0.40\
webapps\SupplierNetRelease.war
Jun 4, 2013 10:36:56 AM org.apache.tomcat.util.digester.Digester endElement
WARNING: No rules found matching 'Context/resource'.
Jun 4, 2013 10:37:00 AM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngin
e[Catalina].StandardHost[localhost].StandardContext[/SupplierNetRelease]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
7)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
1654)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> services/Au
thorizer in servlet mapping
at org.apache.catalina.core.StandardContext.addServletMapping(StandardCo
ntext.java:3223)
at org.apache.catalina.core.StandardContext.addServletMapping(StandardCo
ntext.java:3198)
at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1366)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav
a:1353)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
g.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:369)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5269)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Jun 4, 2013 10:37:00 AM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive D:\apache-tomcat-7\apache-tomcat
-7.0.40\webapps\SupplierNetRelease.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catal
ina.LifecycleException: Failed to start component [StandardEngine[Catalina].Stan
dardHost[localhost].StandardContext[/SupplierNetRelease]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:904)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
7)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
1654)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Jun 4, 2013 10:37:00 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive D:\apache-tomcat-7\apache-tomcat-7.0.40\
webapps\WebServices.war <-------------------------------------- test app I deployed
Jun 4, 2013 10:37:00 AM org.apache.tomcat.util.digester.Digester endElement
WARNING: No rules found matching 'Context/resource'.
Jun 4, 2013 10:37:01 AM com.sun.xml.ws.transport.http.servlet.WSServletDelegate
<init>
INFO: WSSERVLET14: JAX-WS servlet initializing
Jun 4, 2013 10:37:01 AM com.sun.xml.ws.transport.http.servlet.WSServletContextLi
stener contextInitialized
INFO: WSSERVLET12: JAX-WS context listener initializing
Jun 4, 2013 10:37:01 AM com.sun.xml.ws.transport.http.servlet.WSServletContextLi
stener contextInitialized
INFO: WSSERVLET12: JAX-WS context listener initializing
Jun 4, 2013 10:37:01 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-7\apache-tomcat-7.0.4
0\webapps\docs
Jun 4, 2013 10:37:01 AM org.apache.tomcat.util.digester.Digester endElement
WARNING: No rules found matching 'Context/resource'.
Jun 4, 2013 10:37:01 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-7\apache-tomcat-7.0.4
0\webapps\examples
Jun 4, 2013 10:37:01 AM org.apache.tomcat.util.digester.Digester endElement
WARNING: No rules found matching 'Context/resource'.
Jun 4, 2013 10:37:02 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-7\apache-tomcat-7.0.4
0\webapps\host-manager
Jun 4, 2013 10:37:02 AM org.apache.tomcat.util.digester.Digester endElement
WARNING: No rules found matching 'Context/resource'.
Jun 4, 2013 10:37:02 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-7\apache-tomcat-7.0.4
0\webapps\manager
Jun 4, 2013 10:37:02 AM org.apache.tomcat.util.digester.Digester endElement
WARNING: No rules found matching 'Context/resource'.
Jun 4, 2013 10:37:03 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-7\apache-tomcat-7.0.4
0\webapps\ROOT
Jun 4, 2013 10:37:03 AM org.apache.tomcat.util.digester.Digester endElement
WARNING: No rules found matching 'Context/resource'.
Jun 4, 2013 10:37:03 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Jun 4, 2013 10:37:03 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Jun 4, 2013 10:37:03 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6755 ms
如果有人可以提出建議,我將不勝感激。如果你想看更多,請讓我清楚知道你想看到什麼。我們希望這個在沒有上下文的情況下運行,但是在這一點上這是次要的 。我很抱歉,如果我錯過了一些明顯的事情。提前致謝。
服務器故障可能是這個問題的更好的地方。 – Maerlyn