Я пытаюсь запустить издателя и подписчика, используя привязку Spring. < /p>
Убедитесь, что пункт назначения (Exchange) создается локально на кроликом-mq. < / p>
Publisher (app.yml) < /p>
spring:
cloud:
stream:
bindings:
output:
destination: HelloDestination
rabbitmq:
addresses: xxx.xxx.xx.xxx
< /code>
subscriber(app.yml)
spring:
cloud:
stream:
bindings:
input:
destination: HelloDestination
rabbitmq:
addresses: xxx.xxx.xx.xxx
server:
port: 8081
< /code>
Publisher (pom.yml) < /p>
org.springframework.cloud
spring-cloud-starter-stream-rabbit
2.1.1.RELEASE
org.springframework.boot
spring-boot-starter-integration
< /code>
подписчик (pom.yml) < /p>
org.springframework.cloud
spring-cloud-starter-stream-rabbit
2.1.1.RELEASE
org.springframework.boot
spring-boot-starter-integration
< /code>
Publisher (исходный файл Java) < /p>
@SpringBootApplication
@EnableBinding(Source.class)
public class Demo1Application {
//@Autowired
//private static MessageChannel output;
public static void main(String[] args) {
SpringApplication.run(Demo1Application.class, args);
String sampleMessage = "Hello";
Message message =
MessageBuilder.withPayload("Hello World").build();
MessageChannel output = new DirectChannel();
output.send(message);
}
}
< /code>
// Consumer (исходный файл) < /p>
@SpringBootApplication
@EnableBinding(Sink.class)
public class Demo2Application {
public static void main(String[] args) {
SpringApplication.run(Demo2Application.class, args);
}
@StreamListener(Sink.INPUT)
public void listenerMethod(Message message)
{
System.out.println("The Message is :"+message);
}
}
< /code>
// ---- < /p>
После того, как я делаю все, я вижу созданный обмен, а также сообщение на обмен. Потребитель запускается просто отлично. Но производитель подавляет при попытке отправить сообщение с сообщением об ошибке < /p>
Exception in thread "main" org.springframework.messaging.MessageDeliveryException: Dispatcher has no subscribers for channel 'unknown.channel.name'.; nested exception is org.springframework.integration.MessageDispatchingException: Dispatcher has no subscribers, failedMessage=GenericMessage [payload=Hello World, headers={id=ccf86001-5dba-6c64-bc76-e1f58782de42, timestamp=1558883876384}], failedMessage=GenericMessage [payload=Hello World, headers={id=ccf86001-5dba-6c64-bc76-e1f58782de42, timestamp=1558883876384}]
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:461)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:401)
at com.example.demo.Demo1Application.main(Demo1Application.java:29)
Caused by: org.springframework.integration.MessageDispatchingException: Dispatcher has no subscribers, failedMessage=GenericMessage [payload=Hello World, headers={id=ccf86001-5dba-6c64-bc76-e1f58782de42, timestamp=1558883876384}]
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:138)
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:105)
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscri
< /code>
Я ожидал, что сообщение будет прочитано. < /p>
Подробнее здесь: https://stackoverflow.com/questions/563 ... annel-name
У диспетчера нет подписчиков для канала 'inknown.channel.name ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Отключение канала RabbitMQ из-за ошибки канала с неизвестным тегом доставки
Anonymous » » в форуме JAVA - 0 Ответы
- 92 Просмотры
-
Последнее сообщение Anonymous
-