ステートレス セッション Bean をデプロイ用に war ファイルまたは ear ファイルにパッケージ化する必要がありますか?
3 に答える
どちらでもない。EJB は、標準の JAR ファイル (META-INF/ejb-jar.xml を含む) に属します。WAR から EJB を使用するには、これら 2 つのアーカイブを EAR にパックします。
これはあまり便利ではないため、EJB 3.1 以降、EJB を WAR にパッケージ化することが可能になりました。
ステートレス セッション Bean (SLSB) は、オプションのデプロイメント記述子を含む、または含まない EJB-JAR (通常の JAR ファイル) にパッケージ化されます。EJB-JAR と WAR は、デプロイメントのために EAR にアセンブルされます。
Debu Panda と Rezza Rahmann によるこの記事を参照してください (実際には、優れたEJB 3 in Actionからの抜粋です)。
EJB 3.1/Java EE 6 では、EAR ファイルはもう必要ありません。また、セッション Bean を WAR ファイルに直接配置することもできます (WEB-INF/classes の個別の .class ファイルとして、またはWAR ファイルの WEB-INF/lib ディレクトリ)。たとえば、http: //java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html#simpackを参照してください。