0

アノテーション @EJB エンティティと EJB3.1 関連コードを変更せずに、Tomcat7 で EJB3.1 POJOS を使用した JSF2 Web アプリケーションを実行できます。

私は PrimeFaces 3.4.x、Eclipselink JPA 2.3、EJB3.1 を使用しています。

最後に、JavaEE6 サーバーを使用せずに Tomcat7 に固執したいと考えています。これは、一部の顧客が内部の制約により新しい Java EE サーバーに移行できなかったためです。

しかし、ネイティブクエリおよび/または基準クエリが、結合(左、外部、および内部結合)、複数のテーブルへの挿入などのJPAでうまく機能することを望みます.

GlassFish3.1 との私の旅は、EJB3.1、Eclipselink JPA を使用した primefaces CRUD アプリケーションでかなりうまくいきました。

しかし、EJB コードを変更しないと、EJB セッション Bean のインスタンス化に失敗するため、アプリケーションを実行できませんでした。

アプリケーションが Tomcat 7 と Glassfih3.x で動作するように、設計とソース コードを変更することを考えています。EJB3.1 を避け、DAO などを使用することもできます (つまり、Java EE6 パターンではなく J2EE パターンを使用します)。

UsersController.java の EJB3.1 コード スニペット:-

@EJB

(1) プライベート com.myapp.session.UsersFacade ejbFacade;

(2) プライベート UsersFacade getFacade() { return ejbFacade; }

// validateUser() メソッドは文字列を返します。(3) 文字列結果 = getFacade().validateUser();

perisistence.xml ファイル

http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> jdbc/ABC false

4

3 に答える 3

0

tomcat は Web コンテナーです。Tomcat 8 は Java ee 7 をサポートする可能性がありますが、Apache Tomee は自由に使用できます !!!

ただし、一般的に、Tomcat を使用する場合は Spring を使用し、Jboss または GlassFish を使用する場合は EJB3 を使用します。

于 2013-09-15T11:31:21.147 に答える