📄 hellolistener.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 + -