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 }
  • 相关阅读:
    学用 TStringGrid [8] 字体列表
    学用 TStringGrid [6] Options
    学用 TStringGrid [5] FixedCols、FixedRows、Color、FixedColor
    学用 TStringGrid [4] ColWidths、RowHeights
    Delphi 的字符及字符串[6] Char(AnsiChar)、WideChar 与其编码的相互转换
    学用 TStringGrid [2] DefaultColWidth、DefaultRowHeight、Col、Row
    学用 TStringGrid [3] Cols、Rows
    动画演示 Delphi 2007 IDE 功能[5] 虚拟屏幕
    js string format
    jquery select(列表)的操作(取值/赋值)
  • 原文地址:https://www.cnblogs.com/lhq1996/p/12448019.html
Copyright © 2011-2022 走看看