Active MQ可以在没有任何发送方的情况下直接侦听端口(java应用程序)



我想将数据发送到一个端口,比如UDP端口,从该端口我希望Active MQ在没有任何Java应用程序(发送方(的情况下直接侦听它,然后一旦Active MQ将数据排队,然后我使用我的Reciver(Java应用程序(从队列中提取数据并在我的应用程序中使用它。

我可以这样做吗?我正在处理SNMP陷阱应用程序,另一个应用程序正在将SNMP陷阱数据发送到udp端口162,现在我希望队列只监听端口162并将数据保存到它的队列中,这样当我的应用程序可用时,它将从队列中提取数据。

或者我还有其他方法可以做到这一点。

是的,但您需要添加两个组件来将其连接在一起,并且通过在收集器和存储之间使用消息队列来实现更可靠的SNMP数据收集是一个有效的用例。

  1. 设置ActiveMQ
  2. 将UDP SNMP添加到ActiveMQ代理侦听器(StA(
  3. 将ActiveMQ添加到SNMP发送器(AtS(

方法:

A。快速和肮脏(纯数据代理和存储(

您可以使用Apache Netty侦听器,该侦听器从线路上获取数据并将其存储为BytesMessage(StA(,然后让(AtS(侦听器使用消息并发送到SNMP服务器的UDP端点。

骆驼可能会把你带到那里。。

StA:从(netty:udp://.(.到("jms:queue:TROPS.INPUT"(

AtS:从("jms:queue:TROPS.INPUT"(.到(netty:udp://snmpserver:port)

参考:https://camel.apache.org/参考:https://camel.apache.org/components/latest/netty-component.html

B。支持SNMP的

创建一个SNMP陷阱侦听器,用于处理所需的任何特定于SNMP协议的内容。

参考:https://agentpp.com/api/java/snmp4j.html

相关内容

最新更新