JMS的常用方法
2015-11-16 23:54
357 查看
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(); } } }
相关文章推荐
- JAVA 基础课总结七
- iOS内存话题: performSelector 导致不立即 dealloc
- ”南大软院大神养成计划“_第一天的学习
- struct2源码解读(9)之处理Action请求
- LastPass 的开源替代品
- WebKit之WebGL初识
- Redis学习笔记(2)
- LeetCode Rotate List (链表操作)
- (Alpha)Let's-版本测试报告
- java设计优化--代理模式
- JAVA基础课总结六
- CS5汉化步骤
- 梅兰芳
- iOS 两种方法获取当前网络状态
- JAVA基础课总结五
- HDU 1059 (DP)
- Redis学习笔记(1)
- JAVA基础课总结四
- pthread_join()和pthread_detach()
- Linux 文件属性详细介绍