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

📄 asyncsenderbean.java

📁 展示使用J2EE容器实现安全机制
💻 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 + -