一、SpringBoot整合AvtiveMQ部分

1.引入ActiveMQ依赖

 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>

2.在application中加入配置参数,放在spring配置下

activemq:
broker-url: tcp://127.0.0.1:61616
user: admin
password: admin
in-memory: false
packages:
trust-all: true
pool:
max-connections: 10
enabled: false
idle-timeout: 30000
jms:
pub-sub-domain: true

3.创建topic

package com.mengxiangnongfu.smart_party_school.framework.configure;

import org.apache.activemq.command.ActiveMQTopic;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.stereotype.Component; import javax.jms.Topic; /**
* @author Yang
* @version 1.0
* @date 2022/6/23 13:51
*/
@Component
@EnableJms
public class ActiveMqTopicConfig { /**
* 照明的topic
* @return
*/
@Bean(name = "lighting")
public Topic lig() {
return new ActiveMQTopic("lighting-topic");
} }

4.发送数据

@Autowired
@Qualifier(value = "lighting") //注入配置topice的bean 因为可能配置多个topice的bean所以加入 @Qualifier指定name
private Topic lighting;
 
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate; @Autowired
@Qualifier(value = "lighting")
private Topic lighting; @Release
@GetMapping("/active-mq/send")
public AjaxResult activeMqSend() {
log.debug("【debug】.......");
jmsMessagingTemplate.convertAndSend(lighting, "F1 F2 F3 F4 F4");
return AjaxResult.success();
}

二、C#整合ActiveMQ

1.通过NuGet引入Active依赖

2.建立与activemq的通讯,建议用多线程,在新建的线程中做

        public void Receive()
{
try
{
//创建连接池
IConnectionFactory factory = new ConnectionFactory("tcp://127.0.0.1:61616/");
IConnection connection = factory.CreateConnection();
connection.ClientId = SystemConstants.LIGHTING_CLIENT_NAME;
connection.Start(); ISession session = connection.CreateSession(); //创建Consumer
IMessageConsumer consumer = session.CreateDurableConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("lighting-topic"), "Consumer1", null, false);
consumer.Listener += new MessageListener(consumer_Listener); /* connection.Stop();
connection.Close();*/
}
catch (System.Exception e)
{
rtx_result.Text += e.Message;
}
}

void consumer_Listener(IMessage message)
{
try
{


ITextMessage msg = (ITextMessage)message;
//Invoke(new DelegateRevMessage(RevMessage), msg);
rtx_result.Text = rtx_result.Text + msg.Text+"\n";


}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}


public delegate void DelegateRevMessage(ITextMessage message);


public void RevMessage(ITextMessage message)
{
rtx_result.Text += string.Format(@"接收到:{0}{1}", message.Text, Environment.NewLine);
}

 

最新文章

  1. PHP-CS-Fixer:格式化你的PHP代码
  2. struts2 配置 struts.xml 提示
  3. HDU 5795:A Simple Nim(博弈)
  4. 关于C++与Java中虚函数问题的读书笔记
  5. Spark:Master High Availability(HA)高可用配置的2种实现
  6. noip 2015 运输计划 (lca+二分)
  7. C#代码计时
  8. 程序集和反射(C#)
  9. 1)Java学习笔记:接口和抽象类的异同
  10. Linux services, runlevels, and rc.d scripts
  11. 使用Restify+superagent做数据转发
  12. parted分区和挂载及非交互式操作
  13. python爬虫遇到https站点InsecureRequestWarning警告解决方案
  14. vuejs自定义过滤器根据搜索框输入的值,筛选复杂的列表数据
  15. The value of ESP was not properly saved across a function call 快速解决
  16. vs2013+qt5.3.2+pcl1.8.0+osg2.3开发环境配置
  17. java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean
  18. Quartz.NET 入门,带C#实例
  19. 从零开始一起学习SLAM | 相机成像模型
  20. Pandas读取文件

热门文章

  1. 推荐一款在浏览器编辑`Blazor`的`IDE`
  2. @ControllerAdvice解密请求,加密响应
  3. 插入排序(CSP-J 2021 T2)我有新思路了,链接:https://www.cnblogs.com/wjk53233/p/16533752.html
  4. JWT拦截器与跨域问题
  5. 编写antd的Cascader 级联选择组件市级地区数据
  6. zookeeper04---ZAB协议
  7. Linux07-常用命令-权限
  8. 安装和配置Maven项目管理工具
  9. SpringBoot整合Mybatis、SpringBoot整合Spring Data JPA
  10. 原生微信小程序的一些注意点