Error while calling a remote service via Spring HTTPInvoker from my Kafka consumer - spring

Getting the "No thread-bound request found" issue when calling a remote service via Spring HTTPInvoker from my Kafka
Consumer. In this case ideally there would not be a Http Request as the data comes to Consumer from another
MQ System. Anyway I tried setting the RequestContextListener, but still not working.. Anybody tried this approach? How to
achieve Spring-remoting with Kafka Listeners.

Related

PCF app connecting to Spring AMQP - different messaging service after binding app to RabbitMQ service

I am new to PCF and need some help understanding the root cause of an issue I am facing.
We have one PCF application that is connecting to Rabbit MQ (no binding done on the Rabbit MQ service yet). the messages get passed through the application to queues created on this Rabbit MQ instance. so far so good.
But when we bind again the application to the same Rabbit MQ instance and restage the application, it starts getting connected to a different messaging instance and the message is being relayed to that messaging service and no message transfer happened on expected Rabbit MQ instance although I can't see the actual movement of messages because I might not be having access to the mystery messaging service (I say that because two spring boot services are communicating as expected and the process gets completed).
I am clueless as to what is changing in the application by binding it to Rabbit MQ. is it a default spring implementation of spring AMQP which is interfering here? what can I do to stop this behavior? I haven't provided any parameters while binding the app to Rabbit MQ.
I tried to put the loggers to find out the name of the exchange it's getting connected to but it's still the same exchange, but I can't see the messages flowing and can't explain the phenomenon to the client.
Try to look at the service key of the your rabbit instance and that will give you hostname etc. i.e. rabbitmq details where you are connecting to after binding.
cf service-key SERVICE_INSTANCE SERVICE_KEY
Not sure if there is any default setting in the app that's being used for setting up the connection to a different rabbit instance in absence of binding.

Spring JMS - Issue with Default Message Listener Container issues on setting both durable and shared subscription

I have developed a Spring Integration Application which is running in multiple instance of PCF.
The application listens to the topic and process the message.
I use MqConnectionFactory for Topic connection and Spring JMS - DefaultMessageListenerContainer for listener message.
On Durable Subscription - With Same Client ID.
The first instance of the application runs without any issue and process the message.
Other instance, I am getting the following Error.
2429 - MQRC_SUBSCRIPTION_IN_USE
When I have different Client ID , Every instance of the application get the same copy of message resulting in duplicate processing - The idea of running multiple instance is to share the load and process parallel.
On Enabling Shared Subscription along with Durable Subscription - With Same Client ID.
Every instance is getting the following error.
JMSWMQ2025 Failed to subscribe to the topic due to the exception occurred
reason '2432' MQRC_SUB_ALREADY_EXIST.

Oracle OSB Proxy service Error

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.

Stop Spring standalone service

I am using Spring Integration in my project.
We have a requirement that in case where we will have stop Spring standalone service if database goes down.
In Message listener when I persist the data into database I check if I get CannotGetJdbcConnectionException then stop the Spring service using applicationContext.close() method.
Problem here is if I received any message on to the Queue and database goes down.
I tried to close Spring service then all resource goes down except DefaultMessageListenerContainer that holds that message.
If I terminate the process manually then message goes into inbound Queue which is correct.
Is there any way I could stop Spring service forcefully and put the message back to Inbound Queue?
I hope I am clear with my point here.
Thanks
Sachin
You should configure the DMLC with setSessionTransacted(true) (acknowledge="transacted" when using the namespace to define the endpoints).
Then any in-flight messages will be rolled-back onto the queue.

Oracle Service Bus (OSB) Proxy Service Endpoint URI change

We have an OSB Proxy Service which is currently setup to receive messages from an external jms queue endpoint URI. We have been tasked with creating a JMS bridge over which to receive external messages.
To this end, we have created a bridge with local jms in/out queues and proceeded to edit the OSB Proxy Service's Endpoint URI from that of the old external jms queue to that of our new local bridge's jms queue. However, when we try to activate the changes, we get: Exception in AppMerge flows' progression message.
Being quite new to all things OSB, I am unsure as to what this error means and whether re-pointing a Proxy Service's Endpoint URI from remote jms queue to local bridge's jms queue is enough for what we are attempting to do.
Any thoughts on this matter would be much appreciated!
Our OSB version is 10gR3.
Regards,
PM.
I think your Proxy is not deployed correctly. I think after creating the bridge and queues, restart your server and then try to work.

Resources