public void sendMsgToTopic(String message){
String topicName = queueName;
if (topicName == null) {
logger.error("Must specify topic name");
}
try{
TopicConnectionFactory factory = new TibjmsTopicConnectionFactory(serverUrl);
TopicConnection connection = factory.createTopicConnection(userName, password);
TopicSession session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic(topicName);
TopicPublisher publisher =session.createPublisher(topic);
TextMessage textMessage = session.createTextMessage();
textMessage.setText(message);
//publisher.publish(textMessage);
logger.debug("Message has been successfully sent to "+topicName);
logger.debug("Message Content is "+textMessage.getText());
}catch(JMSException exp){
exp.printStackTrace();
}
}
/**
*
* @param message
*/
public void sendMsgToQueue(String message) {
if (queueName == null) {
logger.error("Must specify queue name");
}
try {
QueueConnectionFactory factory = new TibjmsQueueConnectionFactory(serverUrl);
QueueConnection connection = factory.createQueueConnection(userName, password);
QueueSession session = connection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
logger.info("The URL of queue server is "+serverUrl);
logger.info("The queue Name is "+queueName);
Queue queue = session.createQueue(queueName);
QueueSender sender = session.createSender(queue);
// set message to queue
TextMessage textMessage = session.createTextMessage();
textMessage.setText(message);
//sender.send(textMessage);
logger.debug("Message has been successfully sent to "+queueName);
logger.debug("Message Content is "+textMessage.getText());
connection.close();
} catch (JMSException e) {
e.printStackTrace();
System.exit(0);
}
}
分享到:
相关推荐
在Java应用程序中,使用TIBCO Enterprise Message Service (EMS) 来处理消息队列(Queue)是常见的做法,尤其在分布式系统和企业级应用中。以下是一个简单的Java程序示例,用于向TIBCO EMS Queue发布消息。 首先,...
例如,创建一个`MessageService`,根据传入的参数动态选择发送到Queue还是Topic: ```java @Service public class MessageService { @Autowired private MessageSender sender; @Autowired private ...
Create a SQS Queue - send a message to this queue with the following data: { "template": "template-name", "mailTo": "email@email.com", "subject": "new email", "context": "params" } Test it using ...
生产者负责将消息发送到指定的队列或主题(Queue或Topic)。消息通常是一个对象,可以通过TextMessage、ObjectMessage等形式表示。Sender.java的代码会创建一条消息,设置其内容,然后通过生产者发送到ActiveMQ...
若采用queue,则Sender与Receiver通过特定的queue关联。 #### 三、Topic方式的具体实践 本节将详细介绍如何在JBoss环境中配置JMS的topic方式通信。具体步骤如下: 1. **增加目的地**:在JBoss中,目的地信息由`...
- **Destination**:消息的发送目标或接收源,分为**Queue**和**Topic**。 - **Connection**:客户端与JMS系统之间的连接,提供对TCP/IP socket的封装。分为**QueueConnection**和**TopicConnection**。 - **Session...
- **Destination**:消息的发送目标或接收来源,可以是`Queue`或`Topic`。通过JNDI查找此类对象。 - **Connection**:客户端与JMS服务器之间建立的连接,可以创建一个或多个`Session`对象。根据消息模型的不同,分为...
`Destination`则分为`Queue`和`Topic`。这些对象可用于建立与消息服务的会话。 - **消息的生产者与消费者**:消息的生产者与消费者可以是独立的实体,只需要确保消费者能够正确处理消息即可。根据消息接收者的数量...
JAVA消息服务JMS,全称Java Message Service,是Java平台中的一种标准API,设计用于在分布式系统中实现应用程序之间的异步通信。通过JMS,开发者能够创建、发送、接收和读取消息,降低了不同组件之间的耦合度,提高...
**Java消息服务(Java Message Service,简称JMS)**是一种应用程序接口(API),它为Java开发者提供了一种标准的方式来创建、发送、接收和读取消息。JMS是Java平台中的重要组件,它允许分布式系统中的不同组件通过...