diff --git a/src/groovy/org/grails/rabbitmq/RabbitDynamicMethods.groovy b/src/groovy/org/grails/rabbitmq/RabbitDynamicMethods.groovy index a19a20c..231d057 100644 --- a/src/groovy/org/grails/rabbitmq/RabbitDynamicMethods.groovy +++ b/src/groovy/org/grails/rabbitmq/RabbitDynamicMethods.groovy @@ -3,6 +3,7 @@ package org.grails.rabbitmq import org.springframework.amqp.core.Address import org.springframework.amqp.core.Message import org.springframework.amqp.core.MessagePostProcessor +import org.springframework.amqp.core.MessageProperties /** * Class for applying the dynamic rabbitSend() and rabbitRpcSend() methods to @@ -12,6 +13,7 @@ class RabbitDynamicMethods { static void applyAllMethods(target, ctx) { applyRabbitSend(target, ctx) + applyRabbitSendByteArray(target, ctx) // applyRabbitRpcSend(target, ctx) } @@ -26,6 +28,15 @@ class RabbitDynamicMethods { } } + static void applyRabbitSendByteArray(target, ctx) { + target.metaClass.rabbitSendByteArray = { Object[] args -> + String routingKey = args[0] + MessageProperties messageProperties = new MessageProperties() + Message message = new Message(args[1], messageProperties) + ctx.rabbitTemplate.send(routingKey, message) + } + } + static void applyRabbitRpcSend(target, ctx) { target.metaClass.rabbitRpcSend = { Object[] args -> // Last argument is a reply queue name