Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
活动MQ可以在没有任何发送方的情况下直接侦听端口(java应用程序)_Java_Queue_Activemq_Snmp_Snmp4j - Fatal编程技术网

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

活动MQ可以在没有任何发送方的情况下直接侦听端口(java应用程序),java,queue,activemq,snmp,snmp4j,Java,Queue,Activemq,Snmp,Snmp4j,我想将数据发送到一个端口,比如说UDP端口,从该端口我想让Active MQ在没有任何Java应用程序(发送器)的情况下直接侦听数据,然后一旦激活MQ,将该数据排队,然后我使用我的接收器(Java应用程序)从队列中提取数据,并在我的应用程序中使用它 我可以这样做吗,我正在开发SNMP陷阱应用程序,另一个应用程序正在向udp端口162发送SNMP陷阱数据,现在我希望队列只侦听端口162并将该数据保存到它的队列中,所以当我的应用程序可用时,它将从队列中提取该数据 或者是否有其他方法可以实现这一点。是

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

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


或者是否有其他方法可以实现这一点。

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

  • 设置ActiveMQ
  • 将UDP SNMP添加到ActiveMQ代理侦听器(StA)
  • 将ActiveMQ添加到SNMP发送方(AtS)
  • 方法:

    A.快速且肮脏(纯数据代理和存储)

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

    骆驼也许能把你带到那里

    StA: from(netty:udp://。).to(“jms:queue:TRAPS.INPUT”)

    自动测试系统: 从(“jms:queue:TRAPS.INPUT”)。到(netty:udp://snmpserver:port)

    参考: 参考:

    B.SNMP感知

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


    ref:

    您的问题的简短答案是否定的;ActiveMQ本身无法在UDP端口上直接侦听。您必须编写自己的应用程序来充当代理,或者可能使用类似Camel的集成框架(它有一个适用于此类用例的框架)。在任何情况下,要求“任何其他方式”来实现你的目标都太模糊,会导致讨论和基于意见的答案,而不是基于事实的答案。这类问题在堆栈溢出问题上是离题的。