2

GlassFish 3.1.1 アプリケーション サーバーの JCA リソース アダプタを介して TCP ソケットで受信したデータから呼び出されるメッセージ駆動型 Bean があります。sun-ejb-jar.xml ファイルの配備記述子は、ソケットの URL とポートを指定します。MDB がデプロイされると、アプリ サーバーが MessageEndpointFactory と ActivationSpec をパラメーターとして使用して、リソース アダプターで endpointActivation() メソッドを実行することがわかります。

これは、デプロイ前に URL とポートが既知であり、XML ファイルで指定できる場合は正常に機能しますが、EJB コードで実行時に TCP ソケットを変更する機能が必要になりました。実行時にこれを行う方法について、JCA仕様に参照が見つかりませんでした。

参考までに、Oracle の Web サイトから仕様をダウンロードしました。 J2EE コネクタ アーキテクチャ仕様バージョン 1.5

基本的に、ActivationSpec を設定する次の XML コードを EJB コードに移動したいと考えています。

<sun-ejb-jar>
  <enterprise-beans>
    <ejb>
      <ejb-name>MyInboundSocketMDB</ejb-name>
      <mdb-resource-adapter>
        <resource-adapter-mid>jca-sockets-rar</resource-adapter-mid>
        <activation-config>
          <activation-config-property>
            <activation-config-property-name>url</activation-config-property-name>
            <activation-config-property-value>localhost</activation-config-property-value>
          </activation-config-property>
          <activation-config-property>
            <activation-config-property-name>port</activation-config-property-name>
            <activation-config-property-value>5006</activation-config-property-value>
          </activation-config-property>
        </activation-config>
      </mdb-resource-adapter>
    </ejb>
  </enterprise-beans>
</sun-ejb-jar>

提案をありがとう。

4

1 に答える 1

0

Glassfish Web 管理で、activation-config-property-value を変更できます。

于 2012-01-07T07:55:17.313 に答える