EJB简单消息驱动Bean

消息驱动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主题的消息了。特别方便。

你可能感兴趣的:(bean,jms,J2EE,界面)