// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。

**Topicを設定 [#xb70abc7]
設定ファイルは、
 ${install_root}/server/default/deploy/jms/jbossmq-destinations-service.xml
記述内容は、serverタグの直下に
 <mbean code="org.jboss.mq.server.jmx.Topic"
         name="jboss.mq.destination:service=Topic,name=MyTopic">
    <depends optional-attribute-name="DestinationManager">
         jboss.mq:service=DestinationManager</depends>
  </mbean>

**Queueの設定 [#j52c35f2]
${install_root}/server/default/deploy/jms/jbossmq-destinations-service.xml
に
 <mbean code="org.jboss.mq.server.jmx.Queue"
    name="jboss.mq.destination:service=Queue,name=JMSSampleQ">
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
 </mbean>
を追加。これで、キュー名(実JNDI名という?)はqueue/JMSSampleQとなる。


ENC(Environment Naming Context:環境ネーミング・コンテキスト)ではなく、直接Lookupするには
 (QueueConnectionFactory) con.lookup("queue/JMSSampleQ");
でOK.

**リモートのJMSサーバに接続する。 [#j68dcded]
通常別サーバのEJBをlookupするときはjndi.propertiesなどで
 java.naming.provider.url=jnp://[別のサーバ名]:1099
として他のサーバのJNDIに問い合わせるのですが、JMSをlookupしたらエラーになってました。jboss-web.xmlの設定をいろいろ変えてみたところ、
   <resource-ref>
      <res-ref-name>jms/JMSSampleCF</res-ref-name>
      <jndi-name>ConnectionFactory</jndi-name>
   </resource-ref>
がConnectionFactoryだとOKで、RMIConnectionFactoryはNG、QueueConnectionFactoryなどもNGみたいです。ようするに別サーバの場合はがConnectionFactoryでやるって事みたいですね。

**別サーバのEJBを呼ぶ。 [#q88e0340]
jndi.properties でJNDIのURLを指定する。





----
この記事は
#vote(おもしろかった[1],そうでもない[0])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS