Метод прослушивателя не может быть вызван с входящим сообщением Подробности обработчика конечной точки: rabbitMQ - PullRequest
0 голосов
/ 20 января 2020

Это мой код слушателя. Когда я запускаю его на сервере, rabbitmq отображается как число потребителей, равное 1, а в консоли - нижеуказанная ошибка. Найдите приведенную ниже ошибку и помогите мне ее решить.

* org .springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: метод прослушивателя не может быть вызван с входящим сообщением *

-Данные точки обработчика:

-Method [publi c void com.example.demo.RabbitMQConsumer.getMessage (byte []) выдает java .io.IOException, java .lang.ClassNotFoundException

Bean [com.example.demo. RabbitMQConsumer@591579f1]

at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:193) ~[spring-rabbit-2.1.4.RELEASE.jar:2.1.4.RELEASE]

at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:127) ~[spring-rabbit-2.1.4.RELEASE.jar:2.1.4.RELEASE]

at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1547) ~[spring-rabbit-2.1.4.RELEASE.jar:2.1.4.RELEASE]

at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1473) ~[spring-rabbit-2.1.4.RELEASE.jar:2.1.4.RELEASE]

at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1461) ~[spring-rabb***
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;

@Service
public class RabbitMQConsumer {

    /*
     * @RabbitListener(queues = "Mobile") public void getMessage(Person p) {
     * System.out.println(p.getName()); }
     */

    @RabbitListener(queues = "Mobile")
    public void getMessage(byte[] message) throws IOException, ClassNotFoundException {
        ByteArrayInputStream bis = new ByteArrayInputStream(message);
        ObjectInput in = new ObjectInputStream(bis);
        Person p = (Person) in.readObject();
        in.close();
        bis.close();
        System.out.println(p.getName());
    }

}``` **RabbitMQ server is running on port:15672**
...