In our current setup (where we are now introducing Talend) we have RabbitMQ already in place as our central event broker. We now want Talend to start subscribing to queues in RabbitMQ, but this wasn't as easy as I'd initially hoped. It seems that the ConnectionFactory in Talend is using AMQP 1.0, while RabbitMQ is using AMQP 0.9. There is an experimental plugin for RabbitMQ that introduces AMQP 1.0, but I would rather have Talend use AMQP 0.9 than having experimental plugins in production. For obvious reasons What is the best way to having Talend interacting with RabbitMQ?
Hi, the best way in this case it to use the cMessageEndpoint component (Mediation Perspective in the Talend Studio) and to use the 'RabbitMQ'-component' (select 'rabbitmq' in the advanced tab of the cMessageEndpoint component - (add a new line to the table then you see a combobox which contains 'rabbitmq'. ) In this case you can access RabbitMQ via AMQP within a Talend-Route (the camel-rabbitmq component uses the RabbitMQ AMQP client). The cAMQP component can only be used with an AMQP 1.0 compatible broker as you also mentioned / found out. More information on options of the camel-rabbitmq component can be found also here: http://camel.apache.org/rabbitmq.html Would be nice to get a short feedback if this has solved your questions and allowed you to progress on your tasks. Thanks, Dietmar
Hello dietmar, Am using Talend ESB to publish messages to Rabbit mq. earlier i was using components like cConnectionFactory,Ctimer,CAMQP,Clog. In your prev comment i read about cMessagingEndpoint. i enabled it and the rabbitmqcomponnet. Can you tell me now what all componnets to use now, and how to use. I order to connect to rabbit mq, ill need to pass url, exchange name, routing key, data
Hi vapukov, Thanks a lot. So I have the job in place now. My URI looks like "rabbitmq://XXXXXXX:5672/Myqueue?username=myuser&password=mypass". But when I run I get Starting job rmqnew at 15:12 07/11/2016. connecting to socket on port 3356 connected And it pretty much stays like that until I kill it. Any idea? Thanks
Hi Vapukov, You have been a lot of help so far. My module is working now. Problem was with my URI. I had to pass more parameters to match exactly with the exchange set up. Now can anyone suggest the best way to dump these messages to a database? Thanks,
Hey Vapukov, Its working now . I am getting something like this in my oracle table
So now I have a tJsonextract component as I want all the tags in JSON payload to come as coumns in oracle table. Or atleast the ones which I define while creating the Oracle table. Can you advice what should be the idle configuration for this tjsonextract component. I am a bit confused as I saw in your previous screen shot that you used the tjsonextract component directly. However in talend documentation for this component, there is a twritejsonfield before tjsonextract