⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serviceavailabilitybean.java

📁 Eclipse的插件
💻 JAVA
字号:
package jms.service;

import javax.ejb.MessageDrivenBean;
import javax.ejb.MessageDrivenContext;
import javax.ejb.EJBException;
import javax.jms.*;
import javax.naming.NamingException;
import javax.naming.InitialContext;

/**
 * This is a simple MDB that processes a message containing an integer
 * that represents a zip code, and returns a message containing a 
 * boolean indicating whether DSL service is available at that zip code 
 * or not.
 * Internally the bean just returns true for zip codes < 50000 and
 * false otherwise.
 */
public class ServiceAvailabilityBean implements MessageDrivenBean, MessageListener {
    MessageDrivenContext context = null;

    public void setMessageDrivenContext(MessageDrivenContext context) {
	this.context = context;
    }
    public void ejbCreate() throws EJBException { }

    public void ejbRemove() {
	context = null;
    }

    public void onMessage(Message msg) {
	try {
	    TextMessage  message = (TextMessage)msg;
	    // assume we have an integer
	    int zipCode = new Integer(message.getText()).intValue();
	    // return true if zip code < 50000, false otherwise
	    if (zipCode<50000)
		sendMessage(message,"true");
	    else
		sendMessage(message,"false");
	} catch(Exception e) { 
	    // aargh - this should not happen usually
	    System.out.println(e); 
	    e.printStackTrace();
	}
    }

    public void sendMessage(TextMessage requestMsg, String serviceAvailable) 
	throws NamingException, JMSException {
	// wait for some time
	InitialContext jndiContext = new InitialContext();
	QueueConnectionFactory factory = (QueueConnectionFactory)
	    jndiContext.lookup("ConnectionFactory");
	QueueConnection connect = factory.createQueueConnection();
	QueueSession session = connect.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
	Queue queue = (Queue)requestMsg.getJMSReplyTo();
	QueueSender sender = session.createSender(queue);
	TextMessage message = session.createTextMessage();
	// set the correlation ID
	message.setJMSCorrelationID(requestMsg.getJMSMessageID());
	// set the text
	message.setText(serviceAvailable);
	sender.send(message);
	sender.close();
	session.close();
	connect.close();
    }
}	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -