您的位置:首页 > 其它

EJB简单消息驱动Bean

2016-01-07 16:36 399 查看
消息驱动BEAN

消息驱动BEAN类似于无状态会话BEAN,在wildfly服务器中扮演一个角色

MessageListener类

实现onMessage方法。

我们看看API中的源代码

package javax.jms;
/**
 * @version $Rev: 467553 $ $Date: 2006-10-25 06:01:51 +0200 (Wed, 25 Oct 2006) $
 */
public interface MessageListener {
    void onMessage(Message message);
}


需要注意的是消息驱动BEAN不需要自己写接口(因为接口必须是MessageListener
),只有实现类。

JMS有五种消息类型

Wildfly使用的是hornetq服务器,完全支持JMS标准。

以下是一个简单的消息驱动Bean的源码

@JMSDestinationDefinition(name = "java:/jms/topic/C", interfaceName = "javax.jms.Topic")
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "java:/jms/topic/C"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic") })
public class MessageBean implements MessageListener {
 
@Override
public void onMessage(Message x) {
try {
System.out.println(((TextMessage)x).getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
 
}


@JMSDestinationDefinition注解可有可无。这个注解的意义是创建一个新的主题。如果在J2EE服务器配置文件中已经配置了一个主题,那么就不需要这个注解了。

这样配置之后,就会自动接收到来自C主题的消息了。特别方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: