3

EJB2.1 で作成された既存のアプリケーションがあります。これは EAR として jboss-5.1.0.GA にデプロイされます。

EJB2.1 アプリケーションで使用されるはずのプロセスを実装する必要があります。どちらも独自の ear ファイルにありますが、同じ jboss-5.1.0 インスタンスで実行されます。

私の質問は次のとおりです。

  • EJB2.1 ear から EJB3 ear のサービスを呼び出すことは可能ですか?
  • 上記の答えが「はい」の場合、トランザクションを管理できますか? つまり、EJB2.1 アプリケーションのみにトランザクションをコミットさせます。
  • 既存の 2.1 アプリケーションを v3 に移行することは論外です。v3 として新しいプロセスを作成する価値はありますか、それとも 2 つの間の統合で問題が発生する可能性がありますか?
  • 上記を示す単純な hello world タイプの例を探していましたが、見つけることができませんでした。誰か良い例を知っていますか?
  • EJB3 サービスは、EJB2 アプリケーションのセッション Bean から呼び出されます。これは間違った方法ですか?(つまり、セッション Bean はクライアントではありません)。
4

1 に答える 1

2

EJB3 仕様はスムーズな移行を可能にし、EJB2/EJB3 の相互運用性のためのメソッドを定義します。それは時々かさばり、「通常の」EJB3 アプリでは不要なアーティファクトが必要になります ( @RemoteHome)

  • EJB2.1 ear から EJB3 ear のサービスを呼び出すことは可能ですか?

はい、可能です。参照: EJB2.1 での EJB3 Bean の参照および EJB2.1 クライアント アダプタ の使用の概要とサンプル プロジェクト「ejb21_client_adaptors」

  • 上記の答えが「はい」の場合、トランザクションを管理できますか? つまり、EJB2.1 アプリケーションのみにトランザクションをコミットさせます。

はい、EJB3 メソッドにアノテーションを付けることを忘れないでください。@TransactionAttribute(TransactionAttributeType.MANDATORY)

  • EJB3 サービスは、EJB2 アプリケーションのセッション Bean から呼び出されます。これは間違った方法ですか?(つまり、セッション Bean はクライアントではありません)。

セッション Bean は他の Bean のサービスを呼び出すことができます。

于 2012-12-05T09:32:30.240 に答える