Ask Your Question

RabbitMQ Producer : basicPublish vs queueBind

asked 2020-05-09 10:54:11 -0500

Larry gravatar image

when trying to use the RabbitMQ Producer with Streamsets 3.13.0 the following problem is encountered:

  • I have only basic.publish permission (i.e write an exchange) so I would use this: requestChannel.basicPublish(REQUEST_EXCHANGE, ROUTING_KEY, true, false, props, "test".getBytes());

  • Streamsets RabbitMQ does (more or less) the following: requestChannel.exchangeDeclare(REQUEST_EXCHANGE,"direct",false,true,null); requestChannel.queueDeclare(REQUEST_EXCHANGE,false,false,true,null);
    requestChannel.queueBind(REQUEST_EXCHANGE, REQUEST_EXCHANGE, ROUTING_KEY, null);

It seems I would need more permissions with Streamsets than actually necessary, leading to "reply-code=403, reply-text=ACCESS_REFUSED ...".

This makes RabbitMQ Producer unusable in constrained environments. Do you have a suggestion how message publishing would be possible?

Table of permissions is shown here

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-05-09 17:58:34 -0500

metadaddy gravatar image

If you're a StreamSets customer, please open a support ticket requesting this functionality and we can add it to the roadmap.

Otherwise, StreamSets Data Collector, including the RabbitMQ Producer, is open source. Feel free to grab the source at and submit a pull request.

edit flag offensive delete link more


hm, for a quick solution I will have to use a different framework.

Larry gravatar imageLarry ( 2020-05-11 13:12:19 -0500 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2020-05-09 10:54:11 -0500

Seen: 25 times

Last updated: May 09