PEXAではModelEventの仕組みで非同期実行を行う際にJMSのQueue/Topicを使用します。
JBoss4.2.X系ではそもそもこの時に使用するQueue/Topicは特にJBoss側に設定する必要はありませんでした。
MessageDrivenBean起動時にJBoss側で自動的に用意してくれていたためです。
JBoss5.0.Xでは、このQueue/Topicを設定ファイルで事前に登録しておくことが必須となりました。
もし登録しておかなければModelEventの機能を使用した際にエラーとなります。
JBoss5では、Queue/Topicの登録は以下のファイルに記述します。
${JBOSS_HOME}/server/{設定セットフォルダ}/deploy/messaging/destinations-service.xml
上記のXMLファイルにModelEvent機能が必要とするQueueとTopicを登録します。
上記のファイルに記入すべき内容は、ワークスペースにサンプルファイルがありますので参照して下さい。
${PRJHOME}/etc/config/jboss/jboss5/destinations-service.xml
destinations-service.xmlへの追記内容
<!--==============================================================
== Topic for PEXA ModelEvent
===============================================================-->
<mbean code="org.jboss.jms.server.destination.TopicService"
name="jboss.messaging.destination:service=Topic,name=modelEventTopic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>
<!--==============================================================
== Queue for PEXA ModelEvent
===============================================================-->
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=modelEventQueue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=modelEventDefaultQueue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=modelEventErrorQueue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>