Java 将无代理AMQP写入MQTT适配器

Java 将无代理AMQP写入MQTT适配器,java,mqtt,amqp,qpid,Java,Mqtt,Amqp,Qpid,我想实现一个amqp到mqtt适配器,它将接收amqp消息,获取它们的负载,并将其作为mqtt消息发布到我的mqtt代理。 因此,适配器必须能够 监听端口 确认连接请求 接收amqp消息 承认他们 使用mqtt发布 在我的生态系统中,我想为传入消息提供不同的协议,但我只想运行一个mqtt代理。我想避开任何其他经纪人。 我读到amqp“1.0允许无代理点对点通信”。我想这对于我的用例来说是正确的(尽管AMQP09-1会更好) 我很难想出解决这个问题的方法。rabbitmq客户端库似乎仅用于客户

我想实现一个amqp到mqtt适配器,它将接收amqp消息,获取它们的负载,并将其作为mqtt消息发布到我的mqtt代理。 因此,适配器必须能够

  • 监听端口
  • 确认连接请求
  • 接收amqp消息
  • 承认他们
  • 使用mqtt发布
在我的生态系统中,我想为传入消息提供不同的协议,但我只想运行一个mqtt代理。我想避开任何其他经纪人。 我读到amqp“1.0允许无代理点对点通信”。我想这对于我的用例来说是正确的(尽管AMQP09-1会更好)

我很难想出解决这个问题的方法。rabbitmq客户端库似乎仅用于客户端到代理的通信。
我还通过了回购协议。有了他们的代理库,我可以在我自己的项目中启动一个嵌入式代理,如图所示。这是一个很好的噱头,但不是我需要的。
mqtt的东西对我来说没有问题。困扰我的是“等待amqp消息”部分

我已经研究了几个小时了。我在这里瞎了吗?还是真的那么不寻常/复杂?
我非常感谢您或网络上提供的关于可能的库或示例的任何建议


谢谢。

根据您使用的语言,您可以使用Qpid质子-c或质子-j协议引擎,并实现您自己的内存中AMQP 1.0服务器风格组件,该组件可以在服务器套接字上侦听,然后接受传入的AMQP 1.0连接,并根据需要处理消息。但是,这确实需要您对协议有相当深入的理解,并实现相当多的逻辑来处理AMQP 1.0协议的一般灵活性所带来的各种客户端行为


通过使用ActiveMQ Artemis或类似的多协议代理之一来为您处理所有这些,您可能会节省不少精力。我认为你可能能够利用质子C++或C客户端中的一些更高级别的代码来帮助你如果你想走自己的路,但它仍然是一个公平的工作。p> 多谢各位。我希望这并不意味着要付出那么多的努力,因为mqtt适配器对于某个库来说是非常简单的。但我想那是错的。我对amqp不太了解,但我会看看你的建议。你认为amqp 0-9-1在你的方法中也会得到支持吗?amqp 1.0是ISO标准,这是我的选择