開発環境とテスト環境用に複数の仮想ホストを使用してTomEE(7.0.2)をセットアップしようとしていますが、通常は同じアプリケーションがすべてのホストにデプロイされます。私はthisから、JNDIネーミングの競合を回避する方法を発見しました。これは、失敗した展開の問題を主に解決しましたが、今はいくつかの問題があります。同じアプリケーションのデプロイメント問題を持つTomEE複数のホスト
第一の問題は、彼らが実行しているアプリケーションに影響を与えていないように見えますが、私はそれらを取り除く方法がわからないんだけど、私はまだログに次の重大なエラーが出るということです。
SCHWERWIEGEND - Jndi(name=global/webspi/DefaultStoredProcedureResolver) cannot be bound to Ejb(deployment-id=1774342742/ger400-q/2-webspi/webspi/DefaultDatasourceConnectorService). Name already taken by Ejb(deployment-id=-1143530541/ger400-t/1-webspi/webspi/DefaultStoredProcedureResolver
2番目の問題は、最初に名前が変更されない限り、1つのWARファイルがホストの1つ(以下のger400-d)にデプロイされないことです。それは問題なく他のすべてに展開されます。生成されたログメッセージはこれです:WARファイル名に「X」または何を追加は
SCHWERWIEGEND - Error merging Java EE JNDI entries in to war /webspi: Exception: null java.lang.NullPointerException
は、それが間違ったパス名にもかかわらず、正常に展開します。
最後の問題は、アプリの1つのインスタンスを停止またはアンデプロイすると、他のすべての実行中のインスタンスを壊すということです、ジャックスのRSフィルタが何らかの形で邪魔されているようです:
javax.servlet.ServletException: Error processing webservice request
org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:98)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65)
org.webspi.CORSFilter.doFilter(CORSFilter.java:61)
root cause
java.lang.NullPointerException
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:252)
org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:251)
org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:94)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65)
org.webspi.CORSFilter.doFilter(CORSFilter.java:61)
server.xml
の関連する部分があります
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="ger400-d" appBase="/usr/tomee-webapps/d" unpackWARs="true" autoDeploy="true">
<Alias>ger400-d.ourcompany.com</Alias>
</Host>
<Host name="ger400-t" appBase="/usr/tomee-webapps/t" unpackWARs="true" autoDeploy="true">
<Alias>ger400-t.ourcompany.com</Alias>
</Host>
<Host name="ger400-q" appBase="/usr/tomee-webapps/q" unpackWARs="true" autoDeploy="true">
<Alias>ger400-q.ourcompany.com</Alias>
</Host>
<Host name="ger400-r" appBase="/usr/tomee-webapps/r" unpackWARs="true" autoDeploy="true">
<Alias>ger400-r.ourcompany.com</Alias>
</Host>
何が間違っている可能性がありますか?
返信いただきありがとうございます。私は最後にアイデアをあきらめました。なぜなら、複数のアプリケーションが干渉するような別の問題もありました.3つの独立したTomEEインスタンスとリバースプロキシを正しいものにすることにしました。 – Tim