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

📄 hellolistener.java

📁 《J2EE企业级应用开发》一书的配套源代码
💻 JAVA
字号:
package com.hellking.study.ejb;
import javax.ejb.MessageDrivenBean;
import javax.ejb.MessageDrivenContext;
import javax.ejb.EJBException;
import javax.ejb.CreateException;

import javax.naming.InitialContext;
import javax.naming.Context;

import javax.jms.MessageListener;
import javax.jms.Message;
import javax.jms.TextMessage;


public class HelloListener implements MessageDrivenBean,MessageListener
{
	private HelloWorkerHome workerHome=null;
	private MessageDrivenContext ctx=null;
	
	public HelloListener(){}
	
	public void setMessageDrivenContext(MessageDrivenContext ctx)throws EJBException
	{
		this.ctx=ctx;
	}
	public void ejbCreate()throws CreateException
	{
		try
		{
			Context init=new InitialContext();
			workerHome=(HelloWorkerHome)init.lookup("java:comp/env/ejb/Worker");
		}
		catch(Exception ex)
		{
			throw new CreateException("could not get worker: "+ex);
		}
	}
	public void ejbRemove(){
		ctx=null;
	}
	
	public void onMessage(Message message)
	{
		System.out.println("HelloListen got message "+message.toString());
		try
		{
			HelloWorker worker=workerHome.create();
			
			if(message instanceof TextMessage)
			{
				TextMessage m=(TextMessage)message;
				worker.doWork(m.getText());
			}
		}
		catch(Exception ex)
		{
			throw new EJBException("cloud not worker"+ex);
		}
	}
}
			

⌨️ 快捷键说明

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