67,513
社区成员
发帖
与我相关
我的任务
分享
import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.*;
import org.apache.activemq.ActiveMQConnectionFactory;
public class MyJMSSender {
private Connection connection = null;
private Session session = null;
private MessageProducer producer = null;
private void initialize() throws JMSException, Exception {
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
Config.user, Config.password, Config.url);
// 这里会阻塞住,如果服务器宕了
connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic(Config.topic);
producer = session.createProducer(topic);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
}
public void produceMessage(String message) throws JMSException, Exception {
// initialize();
TextMessage msg = session.createTextMessage(message);
connection.start();
System.out.println("Producer:->Sending message: " + message);
// 这里会阻塞住,如果服务器宕了
producer.send(msg);
System.out.println("Producer:->Message sent complete!");
}
public void close() throws JMSException {
System.out.println("Producer:->Closing connection");
if (producer != null)
producer.close();
if (session != null)
session.close();
if (connection != null)
connection.close();
}
}