// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
***JMSなどの設定を出力する [#ycc521ca]
Queueにメッセージを送るServletのクラスコメントは以下のようになります。
 @web.servlet name="JMSSendMsgServlet" display-name="JMSSendMsgServlet"
 @web.servlet-mapping url-pattern="/JMSSendMsgServlet"
 @web.resource-ref name="jms/JMSSampleCF"
                   type="javax.jms.QueueConnectionFactory" auth="Container"
                   scope="Shareable"
 @web.resource-ref name="jms/JMSSampleQ" type="javax.jms.Queue"
                   auth="Container" scope="Shareable"
 @jboss.resource-ref jndi-name = "queue/JMSSampleQ" res-ref-name =
                     "jms/JMSSampleQ"
 @jboss.resource-ref jndi-name = "QueueConnectionFactory" res-ref-name
                     ="jms/JMSSampleCF"

これでweb.xmlはServletの設定の他に
 <resource-ref >
    ↓ ソースコード上で lookup("java:comp/env/jms/JMSSampleCF"); でルックアップする
    <res-ref-name>jms/JMSSampleCF</res-ref-name>           <- name="jms/JMSSampleCF"
    <res-type>javax.jms.QueueConnectionFactory</res-type>  <- type="javax.jms.QueueConnectionFactory"
    <res-auth>Container</res-auth>                         <- auth="Container"
    <res-sharing-scope>Shareable</res-sharing-scope>       <- scope="Shareable"
 </resource-ref>
 <resource-ref >
   ↓ ソースコード上で lookup("java:comp/env/jms/JMSSampleQ"); でルックアップする
    <res-ref-name>jms/JMSSampleQ</res-ref-name>            <- name="jms/JMSSampleQ"
    <res-type>javax.jms.Queue</res-type>                   <- type="javax.jms.Queue"
    <res-auth>Container</res-auth>                         <- auth="Container" 
    <res-sharing-scope>Shareable</res-sharing-scope>       <- scope="Shareable"
 </resource-ref>
が出力されます。またjboss-web.xmlは
 <resource-ref>
    <res-ref-name>jms/JMSSampleQ</res-ref-name>     <- res-ref-name = "jms/JMSSampleQ"
    ↑ lookup("java:comp/env/jms/JMSSampleQ");
    <jndi-name>queue/JMSSampleQ</jndi-name>         <- jndi-name = "queue/JMSSampleQ"
    ↑ 実際のコンテナに設定されるJNDI名。
 </resource-ref>
 <resource-ref>
    <res-ref-name>jms/JMSSampleCF</res-ref-name>    <- res-ref-name ="jms/JMSSampleCF"
    ↑ lookup("java:comp/env/jms/JMSSampleCF");
    <jndi-name>QueueConnectionFactory</jndi-name>   <- jndi-name = "QueueConnectionFactory"
    ↑ 実際のコンテナに設定されるJNDI名。
 </resource-ref>
が出力されます。

従って、コンテナ上には
ConnectionFactoryはQueueConnectionFactory、Queueはqueue/JMSSampleQが設定されている必要がありますが、QueueConnectionFactoryはあらかじめ存在するようで、queue/JMSSampleQは以下のコードを ${install_root}/server/default/deployjms/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>

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

#comment
#topicpath


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

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