Я пытаюсь работать с простым экземпляром rabbitMQ производителя и потребителя.
public void newCustomerToQueue(Custom custom) throws Exception{
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);
CustomWrap custom= new CustomWrap();
custom.setname(custom.getname());
String jsonString;
try {
jsonString = new ObjectMapper().writeValueAsString(custom);
// System.out.println(jsonString);
} catch (IOException e) {
throw new RuntimeException(e); //todo
}
try {
channel.basicPublish("",TASK_QUEUE_NAME, null, SerializationUtils.serialize(jsonString));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(" [x] Sent '" + jsonString + "'");
}
И мой приемный класс выглядит следующим образом:
public void ReceiveLead() throws Exception{
final String TASK_QUEUE_NAME = "task_queue";
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
final com.rabbitmq.client.Connection connection = factory.newConnection();
final Channel channel = connection.createChannel();
channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);
System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
channel.basicQos(1);
final Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("Recieved" +message);
try {
byte[] body1 = message.getBytes();
System.out.println("inside"+new String(body1));
doWork(body1);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.out.println(" [x] Done");
channel.basicAck(envelope.getDeliveryTag(), false);
}
}
};
channel.basicConsume(TASK_QUEUE_NAME, false, consumer);
}
Проблема в том, что когда я получаю это конкретное сообщение, в моей строке добавляются дополнительные символы. Пример:
Получено '?? t = {"Name": "string"} '
Может кто-нибудь, пожалуйста, помогите мне, я не могу понять, почему это происходит !!