hellolistener.java
来自「《J2EE企业级应用开发》一书的配套源代码」· Java 代码 · 共 61 行
JAVA
61 行
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 + =
减小字号Ctrl + -
显示快捷键?