Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

RabbitMQ Producer : basicPublish vs queueBind

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