私の主な目的は、WebSphere 用に作成された EJB 2.x アプリケーションを、Tomcat サーバー用にデプロイ可能な Web アプリケーションに移行することです。しかし、私はこれをほぼ1 対 1 の移行として行いたいと考えています。
そこで、TomEE (apache-tomee-plus-1.0.0) をセットアップし、サブディレクトリ '/apps' の構成を展開ディレクトリとして保持します。
「*.war」ファイルを「/apps」ディレクトリに置くと、OpenEJB はアーカイブを正常に解凍してロードします。しかし、ログに EJB がロードされていません。OpenEJB は「/apps/BdbWeb/META-INF」の「ejb-jar.xml」を無視すると思います。
ログスニップ:
INFO main OpenEJB.startup.config - Extracting jar: C:\Entwicklung\apache-tomee-plus-1.0.0\apps\BdbWeb.war
INFO main OpenEJB.startup.config - Extracted path: C:\Entwicklung\apache-tomee-plus-1.0.0\apps\BdbWeb
DEBUG main OpenEJB.options - Using default 'openejb.tempclassloader.skip=none' Possible values are: none, annotations, enums, all or NONE or ALL
DEBUG main OpenEJB.options - Using default 'openejb.webservices.enabled=true'
DEBUG main OpenEJB.options - Using default 'tomee.jaxrs.deploy.undeclared=false'
DEBUG main OpenEJB.options - Using default 'openejb.webservices.enabled=true'
DEBUG main OpenEJB.options - Using default 'openejb.check.classloader=false'
INFO main OpenEJB.options - Using 'openejb.descriptors.output=false'
INFO main OpenEJB.options - Using 'openejb.descriptors.output=false'
INFO main OpenEJB.options - Using 'openejb.validation.output.level=VERBOSE'
INFO main OpenEJB.startup.config - Enterprise application "C:\Entwicklung\apache-tomee-plus-1.0.0\apps\BdbWeb.war" loaded.
少なくとも 1 つの注釈 (@Remote または @Stateful など) を Java クラスに追加すると、対応するログ エントリが表示されます。そのため、OpenEJB は Annotations を見つけました。
しかし、多くのクラスと大きな ejb-jar.xml ファイルがあります。各クラスに正しいアノテーションを手動で付けるのは避けたい... ! ですから、エラーを見つけるのを手伝ってくれることを願っています。
多分それは構造の問題ですか?war ファイルには次の構造があります。
- BdbWeb.war
- ページ
- *.jsp
- 画像
- *.jpg
- メタINF
- ejb-jar.xml
- マニフェスト.MF
- openejb-jar.xml (手動で作成。これが役立つことを期待しましたが、そうではありません)
- スタイルシート
- *.css
- WEB-INF
- クラス
- で
- クラスを含むディレクトリ
- log4j.xml
- hibernate.cfg.xml
- で
- ライブラリ
- *.jar
- web.xml
- クラス
- index.jsp
- ページ
openejb.servicemanager.enabled
「system.properties」ファイル のプロパティをすでに設定していますtrue
が、これにより、エンティティまたは Bean エントリのない xml ファイルのみが生成されました。
OpenEJB で使用される特定の ejb-jar.xml を取得するにはどうすればよいですか?
ところで: 自己作成した「openejb-jar.xml」は本当に必要ですか?