📄 messagebean.java
字号:
/* * Copyright 2007 Sun Microsystems, Inc. * All rights reserved. You may not modify, use, * reproduce, or distribute this software except in * compliance with the terms of the License at: * http://developer.sun.com/berkeley_license.html */package mdb;import javax.ejb.MessageDriven;import javax.ejb.MessageDrivenContext;import javax.ejb.ActivationConfigProperty;import javax.jms.MessageListener;import javax.jms.Message;import javax.jms.TextMessage;import javax.jms.JMSException;import javax.annotation.Resource;import java.util.logging.Logger;/** * The MessageBean class is a message-driven bean. It implements * the javax.jms.MessageListener interface. It is defined as public * (but not final or abstract). */@MessageDriven(mappedName = "jms/Topic", activationConfig = { @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "NewsType = 'Sports' OR NewsType = 'Opinion'") , @ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable") , @ActivationConfigProperty(propertyName = "clientId", propertyValue = "MyID") , @ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "MySub")})public class MessageBean implements MessageListener { static final Logger logger = Logger.getLogger("MessageBean"); @Resource public MessageDrivenContext mdc; /** * Constructor, which is public and takes no arguments. */ public MessageBean() { } /** * onMessage method, declared as public (but not final or * static), with a return type of void, and with one argument * of type javax.jms.Message. * * Casts the incoming Message to a TextMessage and displays * the text. * * @param inMessage the incoming message */ public void onMessage(Message inMessage) { TextMessage msg = null; try { if (inMessage instanceof TextMessage) { msg = (TextMessage) inMessage; logger.info("MESSAGE BEAN: Message received: " + msg.getText()); } else { logger.warning( "Message of wrong type: " + inMessage.getClass().getName()); } } catch (JMSException e) { logger.severe( "MessageBean.onMessage: JMSException: " + e.toString()); e.printStackTrace(); mdc.setRollbackOnly(); } catch (Throwable te) { logger.severe("MessageBean.onMessage: Exception: " + te.toString()); te.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -