,通常用JDNI来指定: Connection message=new initialContext();TopicConnectionFactory topicConnectionFactory=(TopicConnectionFactory);topic = (Topic) jndiContext.lookup(topicName);topicConnection =topicConnectionFactory.createTopicConnection(); 2.创建一个Session Session是一个比较大的JMS对象,他提供了生产和消费消息的手段。用于创建消息使用者和消息产生者。 topicSession = topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE); 两个参数用于控制事务和消息确认。 3.定位一个Topic 用JDNI来定位一个Topic,Topic用于识别发送或接收的消息,在发布/订阅系统中。订阅者订阅一个给定的Topic,而发布者将它发布的消息与一个Topic相连。 下面是创建一个Topic "WeatherReport" Topic weatherTopic=messaging.lookup("WeatherReport"); 4.启动Connection 在上面的初始化步骤之后,消息流是禁止的,用于防止在初始化时发生不可预料的行为。一旦初始化结束,必须让Connection启动消息系统。 topicConnection.start(); 5.创建一个消息产生者 在发布/订阅里,一个产生者发布消息到一个指定的Topic。下面的代码显示创建一个产生者,以及后续的建立和发布一个简单文本消息。 TopicPublisher publisher=session.createPublisher(weatherTopic); TexeMessage message=session.createMessage(); message.setText("ssss"); publisher.publish(message); 下面是一个消息使用者的代码 topicConnection =topicConnectionFactory.createTopicConnection();topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);topicSubscriber = topicSession.createSubscriber(topic);topicListener = new MsgListener();topicSubscriber.setMessageListener(this);topicConnection.start();
| 对此文章发表了评论 |
