当前位置: 首页 > 知识库问答 >
问题:

具有Qpid的Windows服务总线

景昊焜
2023-03-14

我在为我的项目尝试使用AMQP实现Windows Service Bus 1.1,我安装了Windows Service Bus 1.1,并使用Service Bus Explorer创建了一个名为test的队列,我正在使用下面链接中给出的Java程序测试示例Service Bus功能,

https://msdn.microsoft.com/en-us/library/dn574799.aspx

In the example given above link i have removed if else code starting with if(type.compareTo("onprem") == 0) and hard coded my connection string.

并创建如下的生产者

目标que=(目标)上下文。查找(“队列”);//正在读取表单属性文件

生产者=会话。createProducer(que);

My connection string and Queue name looks like the below one
connectionstring = amqps://username:pwd@machinename/SampleNameSpace
QueueName = SampleNameSpace/test

When i run the Java program i am getting the ConcurrentTimeOutException when creating the producer.
I am pretty much new to the Service Bus thing and i tried to find out some solution online but it wasn't successful.

Below is my console log

Initial setup

Creating context

Creating connection factory

Creating connection

Creating session

Creating queue

Creating producer

Exception creating producer
javax.jms.JMSException: java.util.concurrent.TimeoutException
    at org.apache.qpid.amqp_1_0.jms.impl.MessageProducerImpl.<init>(MessageProducerImpl.java:98)
    at org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.createProducer(SessionImpl.java:390)
    at org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.createProducer(SessionImpl.java:59)
    at prerna.jms.test.SBTest.main(SBTest.java:71)
Caused by: org.apache.qpid.amqp_1_0.client.Sender$SenderCreationException: java.util.concurrent.TimeoutException
    at org.apache.qpid.amqp_1_0.client.Sender.<init>(Sender.java:178)
    at org.apache.qpid.amqp_1_0.client.Sender.<init>(Sender.java:119)
    at org.apache.qpid.amqp_1_0.client.Sender.<init>(Sender.java:112)
    at org.apache.qpid.amqp_1_0.client.Sender.<init>(Sender.java:98)
    at org.apache.qpid.amqp_1_0.client.Sender.<init>(Sender.java:84)
    at org.apache.qpid.amqp_1_0.client.Sender.<init>(Sender.java:78)
    at org.apache.qpid.amqp_1_0.client.Session$1.<init>(Session.java:90)
    at org.apache.qpid.amqp_1_0.client.Session.createSender(Session.java:89)
    at org.apache.qpid.amqp_1_0.jms.impl.MessageProducerImpl.<init>(MessageProducerImpl.java:86)
    ... 3 more
Caused by: java.util.concurrent.TimeoutException
    at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.waitUntil(ConnectionEndpoint.java:1232)
    at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.waitUntil(ConnectionEndpoint.java:1214)
    at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.waitUntil(SessionEndpoint.java:681)
    at org.apache.qpid.amqp_1_0.transport.LinkEndpoint.waitUntil(LinkEndpoint.java:355)
    at org.apache.qpid.amqp_1_0.client.Sender.<init>(Sender.java:167)
    ... 11 more


Any help will be greatly appreciated.

共有1个答案

李安歌
2023-03-14

您似乎正在使用不再受支持的Qpid项目中的旧AMQP 1.0 JMS客户端。我建议的第一件事是切换到您可以在Qpid站点上找到的较新的AMQP 1.0 JMS客户端。

这是一个指向Github上镜像的Qpid JMS客户端示例的链接,这是您的maven dep应该是什么样子。

<dependency>
  <groupId>org.apache.qpid</groupId>
  <artifactId>qpid-jms-client</artifactId>
  <version>0.23.0</version>
</dependency>
 类似资料:
  • 有人能解释一下新发布的WindowsServiceBus(内部部署,而不是Azure)和NServiceBus之间的区别吗? 寻找详细的答案什么窗口SB可能会丢失,因为我很熟悉NSErviceBus可以做什么: 它是真正的服务总线,而不仅仅是使用队列的消息代理吗? 是否可以支持消息多态?(消息子类化其他消息和支持此层次结构的处理程序 长时间运行的进程和相关性 向外扩展

  • 我正在开发一个客户端,它可以从Windows服务总线读取消息,该消息是使用发送的。净额。客户端是使用Java开发的,据我所知,它创建会话,但当它创建会话时,使用者抛出一个JMSException,它只告诉我以下消息:amqp:不允许 有线索吗? 顺致敬意,

  • 我正在使用Java和Qpid JMS 0.23测试发布/订阅。 我在SB中创建了一个名为“测试主题”的主题。 我可以从测试应用程序向主题发布消息,但在尝试订阅(动态创建订阅)时失败,例外情况: javax.jms.InvalidDestinationException:找不到消息传递实体mynamesspace:主题:test.topic~15|DurableSubscriber2。Trackin

  • 我正在尝试从Qpid JMS客户端连接到Windows服务总线。身份验证和握手成功,但无法从主题或队列中获取任何信息。 我的代码基于这里提供的教程。 读取时尝试从服务总线获取消息: 服务器无法处理该请求;请重试该操作。如果问题仍然存在,请与服务总线管理员联系并提供跟踪id。。跟踪ID:583da4f8d58d4fa59dc9521c6f799cb8\U GWIN-AN5B0307EEHM,时间戳:

  • 我正在尝试为Windows配置服务总线,但在将主机添加到服务总线场的阶段,它无法启动服务总线网关。 事件日志中指出: 如何解决此问题?

  • 我有多个消息在我的服务总线主题,我想处理这个消息一个一个,在一个服务总线触发器,它应该得到所有的消息,没有被处理。而且由于我正在进行测试和调试,我不希望消息被完成,也就是说,如果它没有完成,它会留在主题中供任何其他服务使用。 我已经开始使用带有服务总线主题触发器的Azure功能应用程序,并且已经向上移动到这里,在这里我获得了我日志中的所有消息,但是一旦完成,我没有获得任何其他消息,因为所有消息都已