📄 asyncsenderbean.java
字号:
package com.jdon.asyncsender.ejb;
import javax.ejb.*;
import javax.jms.*;
import org.apache.log4j.Logger;
import com.jdon.asyncsender.util.JNDINames;
import com.jdon.servicelocator.ejb.ServiceLocator;
import com.jdon.servicelocator.ServiceLocatorException;
/**
*
* <p>Title: </p>
* <p>Description:
* 调用本session bean,可以实现将异步传送。
* </p>
* <p>Copyright: Jdon.com Copyright (c) 2003</p>
* <p>Company: 上海解道计算机技术有限公司</p>
* @author banq
* @version 1.0
*/
public class AsyncSenderBean implements SessionBean {
private final static Logger logger = Logger.getLogger(AsyncSenderBean.class);
SessionContext sessionContext;
private SessionContext sc;
private Queue queue;
private QueueConnectionFactory qFactory;
public void ejbCreate() throws CreateException {
try {
ServiceLocator serviceLocator = new ServiceLocator();
qFactory = serviceLocator.getQueueConnectionFactory(JNDINames.QUEUE_CONNECTION_FACTORY);
queue = serviceLocator.getQueue(JNDINames.ASYNC_SENDER_QUEUE);
} catch (ServiceLocatorException sle) {
throw new EJBException("AsyncSenderEJB.ejbCreate failed", sle);
}
}
public void sendAMessage(String msg) {
QueueSession session = null;
QueueConnection qConnect = null;
QueueSender qSender = null;
try {
qConnect = qFactory.createQueueConnection();
session = qConnect.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
logger.debug("-->>create sender");
qSender = session.createSender(queue);
TextMessage jmsMsg = session.createTextMessage();
jmsMsg.setText(msg);
qSender.send(jmsMsg);
logger.debug("-->>send ok msg:"+msg);
} catch (Exception e) {
logger.error("sendAMessage error " + e);
throw new EJBException("askMDBToSendAMessage: Error!", e);
} finally {
try {
if (qConnect != null) {
qConnect.close();
}
} catch (Exception e) {}
}
}
public void ejbRemove() {
/**@todo Complete this method*/
}
public void ejbActivate() {
/**@todo Complete this method*/
}
public void ejbPassivate() {
/**@todo Complete this method*/
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -