When I send/receive I ByteBuf Message my test fails saying the input/output is 
not equal!

        public void sendMessageToSmtpQueue(ByteBuf buf) throws 
ActiveMQException {
                ClientSession session = this.sessionFactory.createSession();
                try {
                        session.start();
                        ClientMessage message = session.createMessage(true);
                        message.getBodyBuffer().writeBytes(buf, 0, 
buf.readableBytes());
                        ClientProducer producer = 
session.createProducer(ACTIVE_MQ_SMTP_QUEUE);
                        producer.send(message);
                } finally {
                        session.close();
                }
        }
        public ActiveMQBuffer receiveMessageFromSmtpQueue() throws 
ActiveMQException {
                ActiveMQBuffer result;
                ClientSession session = this.sessionFactory.createSession();
                try {
                        session.start();
                        ClientConsumer consumer = 
session.createConsumer(ACTIVE_MQ_SMTP_QUEUE);
                        ClientMessage message = consumer.receive();
                        result = 
ActiveMQBuffers.fixedBuffer(message.getBodyBufferSize());
                        message.getBodyBuffer().readBytes(result);
                } finally {
                        session.close();
                }

                return result;
        }

-----Ursprüngliche Nachricht-----
Von: Justin Bertram <jbert...@apache.org> 
Gesendet: Montag, 22. März 2021 16:34
An: users@activemq.apache.org
Betreff: Re: send message

What actually fails? Do you have a stack-trace?


Justin

On Mon, Mar 22, 2021 at 9:53 AM <tobias.w...@t-systems.com> wrote:

> I try to send and receive a netty ByteBuf message, but it fails.
> What I'm doing wrong here? I even don't know ist he mistake in sending 
> or receiving!
> I was thinking to use the jms layer, but I'm receiving the data buffer 
> throught a netty buffer and I want to avoid to convert the buffer to a 
> byte array!
>
>        public void sendMessageToSmtpQueue(ByteBuf buf) throws 
> ActiveMQException {
>              ClientSession session = this.sessionFactory.createSession();
>              try {
>                     session.start();
>                     ClientMessage message = session.createMessage(true);
>                     message.getBodyBuffer().writeBytes(buf, 0, 
> buf.readableBytes());
>                     ClientProducer producer = 
> session.createProducer(ACTIVE_MQ_SMTP_QUEUE);
>                     producer.send(message);
>              } finally {
>                     session.close();
>              }
>        }
>
>        public ActiveMQBuffer receiveMessageFromSmtpQueue() throws 
> ActiveMQException {
>              ActiveMQBuffer result;
>              ClientSession session = this.sessionFactory.createSession();
>              try {
>                     session.start();
>                     ClientConsumer consumer = 
> session.createConsumer(ACTIVE_MQ_SMTP_QUEUE);
>                     ClientMessage message = consumer.receive();
>                     result =
> ActiveMQBuffers.fixedBuffer(message.getBodyBufferSize());
>                     message.getBodyBuffer().readBytes(result);
>              } finally {
>                     session.close();
>              }
>
>              return result;
>        }
>
>
>        public void startServer() throws Exception {
>              this.configuration = new ConfigurationImpl();
>              this.configuration.addAcceptorConfiguration("in-vm",
> ACTIVE_MQ_EMBEDDED_SERVER_URL);
>              this.configuration.setPersistenceEnabled(true);
>              this.configuration.setSecurityEnabled(false);
>              this.configuration.addQueueConfiguration(new
> QueueConfiguration(ACTIVE_MQ_SMTP_QUEUE));
>
>              this.server = new ActiveMQServerImpl(this.configuration);
>              this.server.start();
>        }
>

Reply via email to