ActiveMQ消息中间件-hello world

柔情只为你懂 2022-05-09 14:22 356阅读 0赞

生产者

  1. package com.wuk.mq;
  2. import java.util.concurrent.TimeUnit;
  3. import javax.jms.Connection;
  4. import javax.jms.ConnectionFactory;
  5. import javax.jms.Destination;
  6. import javax.jms.MessageProducer;
  7. import javax.jms.Session;
  8. import javax.jms.TextMessage;
  9. import org.apache.activemq.ActiveMQConnectionFactory;
  10. /**
  11. * 生产者
  12. * @author Administrator
  13. *
  14. */
  15. public class Send {
  16. public static void main(String[] args) throws Exception {
  17. //1、创建工厂连接对象,需要制定ip和端口号 默认端口号为tcp://127.0.0.1:61616
  18. ConnectionFactory connectionFactory=new ActiveMQConnectionFactory
  19. (ActiveMQConnectionFactory.DEFAULT_USER,
  20. ActiveMQConnectionFactory.DEFAULT_PASSWORD,
  21. "tcp://127.0.0.1:61616");
  22. //2、使用连接工厂创建一个连接对象
  23. Connection connection=connectionFactory.createConnection();
  24. //3、开启连接
  25. connection.start();
  26. //4、使用连接对象创建会话(session)对象
  27. //参数1 是是否启用事务 参数2 签收模式,一般是自动签收
  28. Session session=connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
  29. //5、使用会话对象创建目标对象,包含queue和topic(一对一和一对多)
  30. Destination destination=session.createQueue("test-queue");
  31. //6、使用会话对象创建生产者对象
  32. MessageProducer producer=session.createProducer(destination);
  33. //设置持久化和非持久化状态
  34. //producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
  35. //7、使用会话对象创建一个消息对象
  36. for(int i=0;i<10;i++){
  37. TextMessage textMessage= session.createTextMessage("我是消息内容"+i);
  38. //8、发送消息
  39. //producer.send(destination, message, deliveryMode, priority, timeToLive);
  40. //第一个参数是目标地址
  41. //第二个参数是具体的数据信息
  42. //第三个参数是传输数据的模式
  43. //第四个参数是优先级
  44. //第五个参数是消息的过期时间
  45. producer.send(destination,textMessage);
  46. TimeUnit.SECONDS.sleep(1);
  47. }
  48. //9、关闭资源
  49. if(producer!=null){
  50. producer.close();
  51. }
  52. if(session!=null){
  53. session.close();
  54. }
  55. if(connection!=null){
  56. connection.close();
  57. }
  58. }
  59. }

消费者

  1. package com.wuk.mq;
  2. import javax.jms.Connection;
  3. import javax.jms.ConnectionFactory;
  4. import javax.jms.Destination;
  5. import javax.jms.MessageConsumer;
  6. import javax.jms.Session;
  7. import javax.jms.TextMessage;
  8. import org.apache.activemq.ActiveMQConnectionFactory;
  9. /**
  10. * 消费者
  11. *
  12. * @author Administrator
  13. *
  14. */
  15. public class Receive {
  16. public static void main(String[] args) throws Exception {
  17. // 1、创建工厂连接对象,需要制定ip和端口号 默认端口号为tcp://127.0.0.1:61616
  18. ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
  19. ActiveMQConnectionFactory.DEFAULT_USER,
  20. ActiveMQConnectionFactory.DEFAULT_PASSWORD,
  21. "tcp://127.0.0.1:61616");
  22. // 2、使用连接工厂创建一个连接对象
  23. Connection connection = connectionFactory.createConnection();
  24. // 3、开启连接
  25. connection.start();
  26. // 4、使用连接对象创建会话(session)对象
  27. // 参数1 是是否启用事务 参数2 签收模式,一般是自动签收
  28. Session session = connection.createSession(Boolean.FALSE,
  29. Session.AUTO_ACKNOWLEDGE);
  30. // 5、使用会话对象创建目标对象,包含queue和topic(一对一和一对多)
  31. Destination destination = session.createQueue("test-queue");
  32. // 6、使用会话对象创建消费者对象
  33. MessageConsumer consumer = session.createConsumer(destination);
  34. while(true){
  35. TextMessage textMessage=(TextMessage) consumer.receive();
  36. System.out.println("消费数据"+textMessage.getText());
  37. }
  38. }
  39. }

发表评论

表情:
评论列表 (有 0 条评论,356人围观)

还没有评论,来说两句吧...

相关阅读

    相关 消息中间ActiveMQ

    原文地址:[手把手教你如何玩转消息中间件(ActiveMQ)][ActiveMQ] 情景引入 小白:起床起床起床起床。。。。快起床~ 我:怎么了又,大惊小怪,吓到我