We are unable to publish JMS message on Solace topic.We are ale to create Solace topic on Solace client UI.
But unable to send message on it.
we are getting below error message.
****WARN | Setup of JMS message listener invoker failed for destination 'topic1' - trying to recover.
Cause: Error creating consumer - operation not supported on router (Capability Mismatch: Router does not support temp endpoints or session not yet connected.)****
This error occurs when the application is attempting to create a MessageConsumer for a temporary endpoint, but the client does not have the right capabilities.
To resolve this, you will need to enable the "Allow Guaranteed Endpoint Create" capability in the client-profile that this client is using. You can enable this with SolAdmin, or with the Solace CLI.
Related
Please guide me as how to configure a DLQ for the failed message processing in Spring Boot JMS. I would like to send the failed messages to DLQ based on the error type. Ex, business error - send to DLQ, technical error - discard...
I found the solution. It should be through the JMS provider, in my case I had to configure a Backout queue for the listener queue and DLQ at the queue manager level
I want to automatically read/receive messages from solace queue/topic if any message produced or published when my application is up. So is there any method in solace which can open connection automatically if there is any message available in Queue/Topic.
So is there any method in solace which can open connection automatically if there is any message available in Queue/Topic
This is not possible for JMS.
JMS applications initiate a connection to the broker and receive messages over the locally initiated connection.
The only way to do what you want is to use REST instead of JMS.
When a REST consumer is configured, the Solace event broker will initiate a HTTP connection to the application.
A sample can be found here:
https://solace.com/samples/solace-samples-rest-messaging/publish-subscribe/
I'm trying to subscribe to a topic using durable and shared enabled, so that multiple instance can be connected to a topic to increase the scalability.
However, only the first instance getting connected without any errors, the second instance message listener keeps throwing the below error messages. I checked with my Webmethods counterpart and he found that the client state was disabled and that's why second listener was not able to connect using the same subscription name.
Can someone throw light on this issue please.
18:14:15,050 WARN
[org.springframework.jms.listener.DefaultMessageListenerContainer]
(DefaultMessageListenerContainer-145) Setup of JMS message listener
invoker failed for destination 'topicName' - trying to recover. Cause:
[BRM.10.2209] JMS: Durable subscription
"connectionFactory##subscriptionName" is in use.
The message
JMS: Durable subscription "connectionFactory##subscriptionName" is in use.
typically hints at a misconfiguration of your Topic on Broker. Please check (with MWS) that the Topic really has "Shared State=true“:
Then make sure your Connection Factory has a „Connection Factory Client ID“ set:
And finally you should set the following JVM setting:
-Dcom.webmethods.jms.clientIDSharing=true
I have created a jms consuming proxy service with queue created using Oracle AQ. And the proxy service is routed to Business service which enqueues same message into different queue created using orace AQ.
Proxy service is running fine and the message is put in to destination queue, but its throwing error message as below
unexpected failure while processing an incoming message for endpoint proxy service
and I think because of the erorr, the service is retrying again and the message is posted to destination queue 16 times.
Please help me in resolving this.
Thanks.
Try to play with the transaction in the Proxy service or the JMS retries. It could be the Global transaction setup that is giving the error.
I would like to be able to view the exact JMS message selector SQL that a WebSphere MQ JMS client application is using on its receive call.
If I run the client application against TIBCO EMS as the JMS provider the TIBCO EMS Administration API provides visibility of this information.
When the client application is run against WebSphere MQ as the JMS provider I can use:
display qstatus(MyQUEUE) type(handle) all
to see the consumers of the queue, but I can't see what JMS message selector the client has declared.
Currently it's not possible to see the selector in use; other open options, message information can be seen via runqmsc or via Explorer. (In Explorer, the Applications Connection view can show you what is connected with associated information).
I would suggest that you raise a Request For Enhancement - the process is documented here http://www-01.ibm.com/support/docview.wss?uid=swg21266802
Matthew