GlassFish 3.1.1アプリケーションサーバのJCAリソースアダプタ経由でTCPソケットで受信したデータから呼び出されるメッセージ駆動型Beanがあります。 sun-ejb-jar.xmlファイル内のデプロイメント記述子。ソケットのURLとポートを指定します。 MDBがデプロイされると、アプリケーション・サーバーは、MessageEndpointFactoryおよびActivationSpecをパラメータとしてリソース・アダプタ内のendpointActivation()メソッドを実行します。JCAインバウンドソケットリソースを使用したMDBの配備後のコンフィグレーション
デプロイメント前にURLとポートが分かっていて、XMLファイルで指定できる場合はうまく動作しますが、実行時にEJBコードでTCPソケットを変更する必要があります。実行時にこれを行う方法について、JCA仕様の参照を見つけることができませんでした。
参考までに、私はOracleのWebサイトから仕様書をダウンロードしました。 J2EE Connector Architecture Specification Version 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>
ありがとうございます。