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

📄 msgreceiver.java~32~

📁 模拟工作流的代码
💻 JAVA~32~
字号:
package wsfsimulator;

import java.util.Hashtable;
import javax.naming.*;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.management.*;
import org.jboss.system.*;
import javax.jms.*;

import com.zte.ums.uep.util.mml.parser.*;
import com.zte.ums.uep.caf.fm.common.*;
import com.zte.ums.uep.psf.dugprn.server.DebugPrn;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: 中兴通讯股份有限公司</p>
 * @author 陈粤
 * @version 1.0
 */

public class MsgReceiver
    implements MessageListener {

  private MFrame frame;
  private int messageCount;
  private long beginTime;
  private long endTime;
  private long performance;

  private Context context = null;
  private TopicConnectionFactory connectionFactory = null;
  private TopicConnection connection = null;
  private TopicSession sessionMss = null;
  private Topic topicMss = null;
  private TopicSubscriber subscriberMss = null;

  /**
   * 引用PSF调试打印类
   */
  private static DebugPrn dMsg = new DebugPrn(
      MsgReceiver.class.getName());

  public MsgReceiver(MFrame frame) {
    messageCount = 0;
    this.frame = frame;
    loginJms();
  }

  public void loginJms() {
    Hashtable props = new Hashtable();
    props.put(Context.INITIAL_CONTEXT_FACTORY,
              "org.jnp.interfaces.NamingContextFactory");
    props.put(Context.PROVIDER_URL, "10.197.33.202");
    props.put("java.naming.rmi.security.manager", "yes");
    props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

    try {
      context = new InitialContext(props);
//      context = new InitialContext();
      connectionFactory = (TopicConnectionFactory) context.lookup(
          "ConnectionFactory");
      connection = connectionFactory.createTopicConnection();
      sessionMss = connection.createTopicSession(false,
                                                 Session.AUTO_ACKNOWLEDGE);
      topicMss = (Topic) context.lookup("topic/CAF_2WSF_FM_Topic");
      subscriberMss = sessionMss.createSubscriber(topicMss);
      subscriberMss.setMessageListener(this);
      connection.start();
    }
    catch (Exception e) {
      e.printStackTrace();
      System.out.println("login failed");
      return;
    }
  }

  public void onMessage(Message msg) {
    Topic topic = null;
    FMessage fmsg = null;
    int commandCode;
    try {
      if (msg instanceof ObjectMessage) {
        ObjectMessage omsg = (ObjectMessage) msg;
        fmsg = (FMessage) omsg.getObject();
//        dMsg.info("Message:" + fmsg.toString());

//        RecSection section = (RecSection) fmsg.getSectionAt(0);
//        String[] record = null;
//        record = section.getRecordAt(0);
//        System.out.println(fmsg.toString());
        messageCount++;
//        frame.jTextField1.setText(new Integer(messageCount).toString());
        if (messageCount == 1) {
          beginTime = System.currentTimeMillis();
          frame.jTextField2.setText("0");
        }
        if (messageCount == 10000) {
          endTime = System.currentTimeMillis();
          performance = 10000*1000/(endTime - beginTime);
          frame.jTextField2.setText(new Long(performance).toString());
          messageCount = 0;
        }
//        if (messageCount == 1000 || messageCount == 1) {
//          System.out.println(System.currentTimeMillis());
//        }
      }
      else {
        System.out.println("wrong message type");
      }
    }
    catch (JMSException e) {
      e.printStackTrace();
    }
    fmsg = null;
    msg = null;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -