?? mymdbean.java
字號(hào):
//聲明本類定義在包examples.ejb20.message中
package mdb;
//聲明本類引入的其它類
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.MessageDrivenBean;
import javax.ejb.MessageDrivenContext;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* 消息驅(qū)動(dòng)的EJB
*/
public class myMDBean implements MessageDrivenBean, MessageListener {
private static final boolean DEBUG = true;
//聲明消息驅(qū)動(dòng)上下文
private MessageDrivenContext m_context;
//定義bean屬性
private int m_tradeLimit;
// 也可以使用WebLogic的日志服務(wù)
private void log(String s) {
if (DEBUG) System.out.println(s);
}
/**
* EJB規(guī)范要求的方法,在這沒有使用
*/
public void ejbActivate() {
log("ejbActivate called");
}
/**
* EJB規(guī)范要求的方法,在這沒有使用
*/
public void ejbRemove() {
log("ejbRemove called");
}
/**
* EJB規(guī)范要求的方法,在這沒有使用
*/
public void ejbPassivate() {
log("ejbPassivate called");
}
/**
* 設(shè)置會(huì)話上下文
*
* @參數(shù) ctx MessageDrivenContext 會(huì)話上下文
*/
public void setMessageDrivenContext(MessageDrivenContext ctx) {
log("setMessageDrivenContext called");
m_context = ctx;
}
/**
* 這個(gè)方法與"TraderHome.java"中的create方法對(duì)應(yīng)
* 兩個(gè)方法的參數(shù)是一致的。當(dāng)客戶端調(diào)用TraderHome.create()方法,容器分配一個(gè)
* EJBean實(shí)例并調(diào)用ejbCreate()方法。
*
* @異常 javax.ejb.CreateException if there is
* a communications or systems failure
*/
public void ejbCreate () throws CreateException {
log("ejbCreate called");
}
// 接口MessageListener定義的方法
/**
* 消息響應(yīng)方法
*/
public void onMessage(Message msg) {
TextMessage tm = (TextMessage) msg;
try {
String text = tm.getText();
log("Received new Message : " + text);
}
catch(JMSException ex) {
ex.printStackTrace();
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -