zoukankan      html  css  js  c++  java
  • 创建Topic生产者并往ActiveMQ发送消息

     1 import java.util.Random;        
     2 import javax.jms.Connection;
     3 import javax.jms.ConnectionFactory;
     4 import javax.jms.DeliveryMode;
     5 import javax.jms.Destination;
     6 import javax.jms.JMSException;
     7 import javax.jms.MessageProducer;
     8 import javax.jms.Session;
     9 import javax.jms.TextMessage;
    10 import org.apache.activemq.ActiveMQConnectionFactory;
    11 
    12 public class SendMessage {  
    13     private static final String url = "tcp://localhost:61616";  
    14     private static final String TOPICS_NAME = "alarm";  
    15 
    16     public void sendMessage() throws JMSException {  
    17    // JMS 客户端到JMSProvider 的连接  
    18    Connection connection = null;  
    19    try {  
    20        // 连接工厂,JMS 用它创建连接  
    21        // 构造ConnectionFactory实例对象,此处采用ActiveMq的实现jar  
    22        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);  
    23        connection = (Connection)connectionFactory.createConnection();  
    24        // 启动连接  
    25        connection.start();  
    26        //Session:发送或接收消息的线程  
    27        // 获取session  
    28        Session session = (Session) connection.createSession(false,  
    29               Session.AUTO_ACKNOWLEDGE);  
    30        // 消息的目的地,消息发送到那个队列  
    31        Destination destination = session.createTopic(TOPICS_NAME);  
    32        //MessageProducer:消息发送者(生产者)  
    33        // 创建消息发送者  
    34        MessageProducer producer =session.createProducer(destination);  
    35        // 设置是否持久化  
    36        //DeliveryMode.NON_PERSISTENT:不持久化  
    37        //DeliveryMode.PERSISTENT:持久化  
    38        producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);  
    39 
    40        String msg = "";  
    41        int i = 0;  
    42     do {  
    43         msg = "第"+i + "次发送的消息:"+new Random();  
    44             TextMessage message = session.createTextMessage(msg);  
    45             Thread.sleep(1000);  
    46             // 发送消息到目的地方  
    47            producer.send(message);  
    48             System.out.println("发送消息:" +msg);  
    49             i++;  
    50     } while (i<10);  
    51    } catch (Exception e) {  
    52        e.printStackTrace();  
    53    }  
    54 }  
    55 
    56 public static void main(String[] args) {  
    57    SendMessage sndMsg = new SendMessage();  
    58    try {  
    59        sndMsg.sendMessage();  
    60    } catch (Exception ex) {  
    61        System.out.println(ex.toString());  
    62    }  
    63 }  
    64 }
  • 相关阅读:
    linux基础——虚拟机的创建及安装操作系统
    并发编程之多进程
    操作系统与进程(理论知识点)
    粘包
    socket-网络编程
    网络编程1
    网络编程
    异常
    元类
    反射与内置方法
  • 原文地址:https://www.cnblogs.com/lhq1996/p/12448019.html
Copyright © 2011-2022 走看看