Camel IBM MQ reconnection strategy - apache-camel

We are facing an issue when the application is idle for sometime and when we try to send a message to IBM MQ we receive a a 2009 MQRC_CONNECTION_BROKEN.Does camel have a reconnection strategy to check and reconnect to IBM MQ again.How do we configure this or should the application need to catch this, do a clean-up of the app state, and re-establish the connection.

Related

How to check status of things when device disconnect not gracefully on aws iot core

I am using AWS IoT core for communication between Esp8266 with the application. But I could not read the state of the device when it disconnected not gracefully . Any help is helpful. Sorry my English is not good.
Connect/Disconnect Events
AWS IoT publishes a message to the following MQTT topics when a client connects or disconnects:
Go to the AWS iot core and subcribe both topic and pass your clientID
$aws/events/presence/connected/: A client connected to the message broker.
$aws/events/presence/disconnected/: A client disconnected from the message broker.
other wise you can subcribe to this topic also
$aws/events/presence/connected/#
$aws/events/presence/disconnected/#
you get the status for disconnected and vice versa for connected
For details you can have a refrence https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html

How to change MQTT hostname for Google Iot Core

I am working on an iot device using google-cloud-iot-core, but i would like to have allow for 3rd party support, so i want to change the host name of the mqtt, how can it be done?
Thanks in advance
If you change that endpoint, then you're no longer talking to IoT Core. It's not configurable, as that's the endpoint to talk to the service.
You can setup your own MQTT server somewhere else (could do it in GCE or GKE with a custom container) and make the hostname whatever you want, and then setup your own broker to take the MQTT payloads and create Pub/Sub messages, or even to act as a forwarding proxy to IoT Core itself I suppose (although security and auth might get a bit odd).
Or you could even just go directly to Pub/Sub. It all just depends on your need.
As I mentioned, changing the hostname for IoT Core (the mqtt.googleapis.com) it means that you aren't using IoT Core any longer. There's no other way to access the communication broker piece of IoT Core to do the Pub/Sub message creation, etc. If you don't use the IoT Core endpoint (hostname) then you'd be on your own for creating the Pub/Sub messages from the IoT device data.

How to make qupid consumer exlusive using apache camel?

I am trying to connect single qpid broker via to clients.
I want only one of these two client should listen the qpid queue.
I am trying this with apache camel
I don't believe QPID supports exclusive consumer on queues. An alternative option is to deploy your Camel route in Karaf in a primary+failover setup. The failover karaf container will be running in a "warm" mode where the Camel route is not started. If the primary fails, the failover will take over and start up all Camel routes. Works great for Highly Available database and file pollers as well!
ref: Karaf HA / Cluster setup

Camel Route on Fuse Taking up a lot of TCP Connections

I am working on an enterprise application within Fuse and I'm running into an issue when the application tries to connect to ActiveMQ:
javax.jms.JMSException: Could not connect to broker URL: tcp://abc:61616. Reason: java.net.BindException: Address already in use: connect
After some investigation on the box, it turns out the Camel routes we've have deployed are taking up sometimes thousands of TCP connections which might be preventing other connections, causing the error.
However, based on what the route is doing, I wouldn't have expect it to use thousands of TCP connections to do the job. Does the way Camel and ActiveMQ communicate naturally spawn this many connections or should I see this as a major problem and investigate?

Communicating Message Broker and Websphere Application Server

I have a portal application deployed on WebSphere Portal server and message flows deployed in message broker execution group. The portal application does some kind of database CRUD operation. Based on the changes made through portal, I want to update my cache data of Message Broker. Since there could be several broker execution group, so I thought of creating a pub-sub model. Every time the portal changes some values in the database, it publishes that message to the topic which broker application will listen to and take appropriate action.
My problem is how to make both these servers communicate to each other. Any pointer would be highly appreciated.
Thanks in advance.
JMS would probably be my choice here as it already supports the pub/sub semantics and is supported by both products.
You can Use DatabaseInput Node in You Message Flows, this Node can listens on Database,Table,or Column if you want for more information go to this link and read about the Node:
DatabaseInput Node Documentation

Resources