How to automatically read/receive message from solace queue when application started? - spring-boot

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/

Related

IBMMQ push subscription : Is there a way in springboot/quarkuks/other to use push subscription? Not polling

Push-subscription
Is there a way in springboot or quarkus (or other framework) to consume messages from IBMMQ using push-subscription. I.e Not polling every minute to see if message exists.
Need not be JMS api.
The DefaultJms... in springboot is polling 1000x times more than the actual messages per day. It is not behaving as ' listener waiting for message push'
You could consume messages from IBM MQ using vert.x's AMQP client. This is a reactive toolkit that will give you an easy way of communicating with IBM MQ using the AMQP channel. Vert.x's AMQP client listens and reacts for push from IBM MQ.

Unable to Publish JMS message on Soace Topic

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.

Send Active MQ messages throught Camel that were sent to a AMQ topic while Camel was down

I have configured an Active MQ server that puts messages to a determined topic, in that moment a configured Camel server take this message and send it by a route to another server, the issue happens when Camel server is down and the Active MQ still continues putting messages in the topic and when Camel starts these past messages are not read by Camel, is there any way to configure Camel to start and read past messages from this Active MQ Server?
Its ActiveMQ / JMS questions. Take a look at durable topics
http://activemq.apache.org/how-do-durable-queues-and-topics-work.html

Receiving messages from WSO2 Message Broker with Process Server

I successfully configured WSO2 Message Broker as a JMS server. I have configured WSO2 ESB to send messages to a queue, and I can see this queue get created in MB with messages.
Now, I want to consume those messages with Process Server and kick off a BPEL process. I have added the required libraries to components/lib in both ESB and BPS, and have created an identical jndi.properties in both. The URL for both ESB and BPEL is:
jms:/newMLECaseQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties&transport.jms.DestinationType=queue
I have tested a similar configuration with ActiveMQ, and there BPEL succesfully picked up the messages. In MB it does not seem to work, while the logging mentions that JMS started to listen:
Started to listen on destination : newMLECaseQueue of type queue for service newMLECaseQueue {org.apache.axis2.transport.jms.JMSListener}
What can be wrong here?
It appears that each queue must be registered using jndi.properties: when adding the queue with the line:
queue.newMLECaseQueue = newMLECaseQueue
it all started to work.

How can I view the JMS message selector a client application is using against a WebSphereMQ Queue Manager

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

Resources