zoukankan      html  css  js  c++  java
  • JMS的常用方法

    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    
    import org.apache.activemq.ActiveMQConnection;
    import org.apache.activemq.ActiveMQConnectionFactory;
    import com.ailk.biapp.ci.localization.cntv.service.IUserSynchronizationService;
    import com.asiainfo.biframe.utils.config.Configure;
    import com.asiainfo.biframe.utils.spring.SystemServiceLocator;
    
    public class JmsTopicReceiver {
        
        public void topicListener() {
    
            // ConnectionFactory :连接工厂,JMS 用它创建连接
            ConnectionFactory connectionFactory;
            // Connection :JMS 客户端到JMS Provider 的连接
            Connection connection = null;
            // Session: 一个发送或接收消息的线程
            Session session;
            // Destination :消息的目的地;消息发送给谁.
            Destination destination;
            // 消费者,消息接收者
            MessageConsumer consumer;
            
            String activeUrl = Configure.getInstance().getProperty("ACTIVE_URL");
            String topic = Configure.getInstance().getProperty("TOPIC_NAME");
            
            connectionFactory = new ActiveMQConnectionFactory(
                    ActiveMQConnection.DEFAULT_USER,
                    ActiveMQConnection.DEFAULT_PASSWORD, activeUrl);
            try {
                
                // 构造从工厂得到连接对象
                connection = connectionFactory.createConnection();
                // 启动
                connection.start();
                // 获取操作连接
                session = connection.createSession(Boolean.FALSE,
                        Session.AUTO_ACKNOWLEDGE);
                //test-queue跟sender的保持一致,一个创建一个来接收
                destination = session.createTopic(topic);
                consumer = session.createConsumer(destination);
                consumer.setMessageListener(new MessageListener() {
                    public void onMessage(Message message) {
                        try {
                            TextMessage txtMsg = (TextMessage)message;
                            String msg = txtMsg.getText();
                            //收到topic的时候增量同步用户
                            IUserSynchronizationService service = 
                                    (IUserSynchronizationService)SystemServiceLocator.getInstance().getService("userSynchronizationServiceImpl");
                            service.startIncrementalSync(msg);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
    
                    }
                });
    
           } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
        
    }
  • 相关阅读:
    机器学习之线性回归
    机器学*-K*邻算法模型预测实战
    机器学习-特征抽取
    机器学习sklearn和字典特征抽取
    机器学习第一讲
    spark统计每个省份广告点击量top3
    spark统计单位时间内访问量
    并发容器之 ConcurrentHashMap源码剖析
    并发之 Java中的锁
    并发之 深入剖析volatile底层原理
  • 原文地址:https://www.cnblogs.com/yangsy0915/p/4970475.html
Copyright © 2011-2022 走看看