Как отправить RP C replyTo - Nest Js Rabbitmq - PullRequest
0 голосов
/ 17 января 2020

У меня есть простое приложение Nest Js Microservice, которое прослушивает сообщения от службы Rabbitmq.

async function bootstrap() {
  dotenv.config();
  // TODO: Check for ENV valid
  const rabbitOptions = {
    urls: [`amqp://${process.env.MQ_HOSTNAME}:${process.env.MQ_PORT}`],
    queue: process.env.TASK_QUEUE_NAME,
    queueOptions: { durable: false },
  };
  const app = await NestFactory.createMicroservice(AppModule, {
    transport: Transport.RMQ,
    options: rabbitOptions,
  });
  await app.listen(() => console.log(`listening...`));
}
bootstrap();

...

@MessagePattern()
async respondQueue(@Payload() payload: AppleDto, @Ctx() context: RmqContext): Promise<any> {
  console.log('received message', payload);
  console.log(context.getArgs()[0].properties);
  return { response: 'wow' };
}

Оно прекрасно принимает сообщение, когда я публикую sh из интерфейса Rabbitmq.

Но мне не удалось ответить на сообщение в другой очереди.

enter image description here

Не уверен, что это не поддерживается, или я я делаю что-то не так.

...