我遇到问题,将Azure ServiceBus通过AMQP通过QPID连接到IBM WAS LibertyProfile。 我按照Microsoft Docs Service Bus Messaging上的教程进行了操作,但我得到了以下异常(URL被混淆了):
Caused by: Not an AMQP URL amqps://POLICY:ENCODEDKEY@NAMESPACE.servicebus.windows.net
at org.apache.qpid.url.URLHelper.parseError(URLHelper.java:143)
at org.apache.qpid.url.URLHelper.parseError(URLHelper.java:138)
at org.apache.qpid.client.url.URLParser.parseURL(URLParser.java:150)
at org.apache.qpid.client.url.URLParser.<init>(URLParser.java:41)
at org.apache.qpid.client.AMQConnectionURL.<init>(AMQConnectionURL.java:62)
at org.apache.qpid.client.AMQConnectionFactory.<init>(AMQConnectionFactory.java:83)
at org.apache.qpid.ra.QpidResourceAdapter.createFactory(QpidResourceAdapter.java:747)
at org.apache.qpid.ra.QpidResourceAdapter.createAMQConnectionFactory(QpidResourceAdapter.java:656)
在server.xml中,我使用qpid-ra-6.1.2.rar作为资源适配器。
如果我在jndi.properties中使用具有相同URL的小示例应用程序,则连接工作正常。
两种解决方案的区别在于我使用资源适配器。我使用它有误吗? 如何通过AMQP从WAS Liberty连接到Azure Service Bus?
我期待着希望得到一些答案或提示。
答案 0 :(得分:0)
答案是我使用的JCA适配器无法连接到AMQP 1.0代理。在示例应用程序中,我使用qpid amqp 1.0客户端jms。 目前没有amqp 1.0 JCA资源适配器。 此外,资源适配器上没有进一步的工作: Qpid Jira Ticket 7716