空白の白いページを提供する jk_mod を備えた JBoss 4.2.3 EAR および Apache 2.2 仮想ホスト
-
06-09-2019 - |
質問
JBoss 4.2.3 上のさまざまな WAR デプロイメントと一緒にデプロイしようとしている EAR ファイルがあります。
個々のスタンドアロン WAR デプロイメントはすべて正常に動作し、EAR 内に含まれる同じアプリケーションのコピーにすぎませんが、EAR デプロイメントとそれに含まれる WAR は正しく動作しません。
jboss-web.xml がこの EAR に関連付けるように設定されている仮想ホストにアクセスすると、ブラウザーに空白の白いページが表示されます。スタンドアロン WAR デプロイメントに関連付けられている他の仮想ホストはすべて正常に動作し、同じ方法で構成されます。
起動時にエラーは発生せず、JBoss はサイトが開始されたことを報告します。WAR の WEB-INF に jboss-web.xml ファイルがあり、これをserver.xml の定義に結び付けています。これは、EAR を除く他のすべてのタイプの構成で機能します。JBoss が EAR 内の WAR をホストに接続できないか、WAR が正しく起動していないか、設定が間違っているかのように、白いページだけが表示され続けます。
JBoss を起動すると、webwar1.war/WEB-INF に flex ディレクトリと Railo ディレクトリが作成され、railo-server ディレクトリが Railo.ear/lib/railo-server として作成されますが、それでも空白の白いページが表示されるだけです。
ここが私の立っている場所です...
共有 Railo JAR ファイルのセットは /JBoss/server/default/deploy/jboss-web.deployer/railojars/lib にあります (jboss-service.xml にこれをクラスパスとして含めるように指示しました)
私の site1.WAR ファイルと site2.WAR ファイルはデプロイフォルダー内にあり、それぞれに、index.cfm と、仮想ホストにマップされた web.xml および jboss-web.xml を含む WEB-INF が含まれています。それぞれがこの共有 Railo JAR インスタンスを使用し、完全に実行されます。外部フォルダーへの docPath と appPath を使用して、server.xml で構成したサイトは、この共有 JAR インストールを使用し、完全に実行されます。これですべてがうまくいきます。
Railo1.war、railo2.war などを /JBoss/server/default/deploy フォルダー (Railo lib フォルダーを含む完全な WAR) に配置すると、これらのサイトは WAR 内に含まれる Railo インスタンスを使用します。これも素晴らしいですね。
したがって、私に残っている唯一の問題は次のとおりです。
/JBoss/server/default/deploy の下に、railo.ear を作成しました。
Railo.ear 内には次のようになります。META-INF には次のような application.xml が含まれます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application id="RailoInstance1">
<display-name>Railo3</display-name>
<description>Railo3</description>
<module id="Module1">
<web>
<web-uri>webwar1.war</web-uri>
<context-root>/webwar1</context-root>
</web>
</module>
</application>
また、次の内容を含む webwar1.war も含まれています。Index.cfm と WEB-INF
WEB-INF には web.xml、lib、jboss-web.xml があります
jboss-web.xml は次のようになります。
<jboss-web>
<context-root>/</context-root>
<virtual-host>foo3.com</virtual-host>
</jboss-web>
server.xml から:
<Host name="foo3.com">
<Alias>www.foo3.com</Alias>
</Host>
foo3.com は jk_mod を使用して、Apache から仮想ホスト経由で JBoss に送信します。WAR デプロイメントにマップされている他の 2 つのサイト (foo1.com、foo2.com) はまったく同じ方法で構成されており、正常に動作します。
WEB-INF には lib フォルダーが含まれているため、この webwar1.WAR インスタンスはその lib フォルダーに含まれる Railo JAR ファイルを使用すると予想されます。問題は、JBoss を起動すると、他のすべてのサイトがさまざまな方法で動作するように設定されているのに、webwar1.war のサイトが起動しないことです。ブラウザに白いページが表示されるだけです。
そのため、webwar1.war ファイル内の WEB-INF 内の jboss-web.xml が、server.xml で定義されたものに接続されていないか、ここで何か他の問題が発生しています。他のスタンドアロン WAR インストールおよび共有 JAR サイトはすべて、jboss-web.xml でマークされているそれぞれの記述子を参照し、このデプロイメントと同じ内容を持っています。
そこで、この最後の EAR 構成を機能させるために何をする必要があるかを考えているところです。
私が今試している方法では、各WARがそれに含まれるJARファイルを使用しようとしているように見えますが、EAR全体に対して共有JARファイルのセットを1つ用意し、ear内の各WARファイルでそれらのJARSを使用したいと考えています。
この 1 つの EAR 構成で webwar1.war、webwar2.war などを使用できるようにしたいので、lib フォルダーを webwar1.war/WEB-INF/lib から Railo.ear/lib に移動しました。
このように設定したいのですが、EAR 内で直接ロードするための独自の JAR ファイルを持つ WAR を 1 つも取得できません。この新しい構成を試してみましたが、ブラウザーに同じ空白の白いページが表示されます。
何か案は?
JBoss ではエラーは発生しません。もう 1 つ奇妙なのは、不適切に構成されて起動しなかったサイトにアクセスしようとしたときに発生するような、Apache からのエラーが発生しないことです。また、JBoss でホストとして設定されていないサイトにアクセスし、jk_mod 経由で JBoss にリダイレクトされると、JBoss のデフォルト ページが表示されます。Railo.ear 内のこの webwar1.war に関連付けられた仮想ホストにアクセスしても、このデフォルト ページが表示されないため、JBoss はドメイン/仮想ホストで何かを行うことになっているということを認識している必要があります。そうしないと、そのデフォルトの JBoss が表示されます。ページ。代わりに、空白の白いものが見えます。
これは JBoss 5.1 でも動作することにも言及しておきます。まったく同じ方法で構成されたrailo.earは仮想ホストにラッチされ、正しく動作します。
ヘルプ?ありがとう!!!!
正しい解決策はありません
他のヒント
複雑な仕事のように聞こえますが、Railo-users メーリング リストの人々が助けてくれるかもしれません: http://groups.google.com/group/railo
Railo には、エースであるプロフェッショナル サービス チームもいます。 http://www.getrailo.com/index.cfm/contact-us/