Java qpid如何配置接收器

Java qpid如何配置接收器,java,messaging,qpid,Java,Messaging,Qpid,我正在使用Apache Qpid,我查看了一些示例,但找不到任何地方如何配置接收器,使其不会关闭连接,并检查队列中是否有任何新消息。您似乎正在使用Qpid JMS客户端。它的一些非常基本的示例,实际上只是展示了JMS中可用的各种组件,并不是代表性的应用程序(因为这完全取决于您想要做什么),它有一个简单的接收器,设置为执行一个带有超时的同步recieve()调用,这样它就可以等待一条新消息这么长时间(如示例中的其他位所发送的),如果在超时时间内没有到达,则表示事情已完成,然后退出 如果您想等待消息

我正在使用Apache Qpid,我查看了一些示例,但找不到任何地方如何配置接收器,使其不会关闭连接,并检查队列中是否有任何新消息。

您似乎正在使用Qpid JMS客户端。它的一些非常基本的示例,实际上只是展示了JMS中可用的各种组件,并不是代表性的应用程序(因为这完全取决于您想要做什么),它有一个简单的接收器,设置为执行一个带有超时的同步recieve()调用,这样它就可以等待一条新消息这么长时间(如示例中的其他位所发送的),如果在超时时间内没有到达,则表示事情已完成,然后退出

如果您想等待消息,您有多种选择,例如重复调用receive而不是像示例中那样退出,使用更大的超时调用receive以避免其超时过快,或者甚至在完全没有超时的情况下调用receive,以便它在返回前等待下一条消息所需的时间。或者您可以为使用者注册异步MessageListener,以便在消息到达时调用该侦听器


您可以查阅任何JMS教程,以获得有关这些概念的更多详细信息。

您是否使用默认的容器?MessageHandler?然后在您使用它之前,接收者不会关闭。当您有新消息时,您应该使用on_message来接收它。@MertKoksal我使用了示例,其中他们使用
MessageConsumer
来描述
ConnectionFactory
打开,并在
1000毫秒后关闭