package org.springframework.issues.sample; import org.springframework.jms.annotation.JmsListener; import org.springframework.messaging.handler.annotation.SendTo; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; import javax.jms.BytesMessage; import javax.jms.JMSException; import javax.jms.TextMessage; @Component public class Consumer { @JmsListener(destination = "TestQueue") @SendTo("ReplyTestQueue") public byte[] receive(javax.jms.Message message) throws InterruptedException, JMSException { BytesMessage bytesMessage = (BytesMessage) message; long len = bytesMessage.getBodyLength(); byte[] bytes = new byte[(int) len]; bytesMessage.readBytes(bytes, (int) len); System.out.println("Recieved BytesMessage!"); System.out.print("bytes data: "); for(byte b : bytes){ System.out.print(Integer.toHexString(b)); } System.out.println(""); System.out.println("String data: " + new String(bytes)); TimeUnit.SECONDS.sleep(1); return bytes; } @JmsListener(destination = "TestQueue2") @SendTo("ReplyTestQueue2") public String receive2(javax.jms.Message message) throws InterruptedException, JMSException { TextMessage textMessage = (TextMessage) message; String text = textMessage.getText(); System.out.println("Recieved TextMessage!"); System.out.println("String data: " + text); TimeUnit.SECONDS.sleep(1); return text; } }