メッセージ駆動型 Beanの開発
Enterprise JavaBeans 仕様で導入されたメッセージ駆動型 Bean 用の Bean 実装クラスを作成することができます。 メッセージ駆動型 Bean (MDB) は、ビジネス・ロジックを実装し、サーバー上で実行されるメッセージ・コンシューマーです。
始める前に
このタスクについて
以下の例は、基本的なメッセージ駆動型 Bean です。
@MessageDriven(activationConfig={
@ActivationConfigProperty(propertyName="destination", propertyValue="myDestination"),
@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue")
})
public class MsgBean implements javax.jms.MessageListener {
public void onMessage(javax.jms.Message msg) {
String receivedMsg = ((TextMessage) msg).getText();
System.out.println("Received message: " + receivedMsg);
}
}
他のエンタープライズ Bean タイプと同様、メッセージ駆動型 Bean の場合も、アノテーションを使用するのではなくデプロイメント記述子で、そのメタデータを宣言することができます。以下に例を示します。
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar id="EJBJar_1060639024453" version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
metadata-complete="false">
<enterprise-beans>
<message-driven>
<ejb-name>MsgBean</ejb-name>
<ejb-class>com.acme.ejb.MsgBean</ejb-class>
<activation-config>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>myDestination</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
</ejb-jar>
注: WebSphere® Application Server バージョン 9 では、destination 活動化構成プロパティーの代わりに destinationLookup プロパティーも使用できます。どちらの活動化構成プロパティーも、MDB の宛先 JNDI 名を設定するという同じ目的を果たします。ただし、両方の活動化プロパティーを構成内に設定した場合は、destinationLookup プロパティーが destination プロパティーより優先されます。