Я новичок в Spring framework и Spring Integration. Я начинаю использовать весенний ботинок с сервисом AWS. Я попытался использовать адаптер канала и активатор службы, чтобы получить сообщение из очереди SQS и периодически отправлять на другую службу внутри приложения с помощью poller.Адаптер канала и активатор обслуживания
@configuration
public class AppConfig
{
@Bean
@InboundChannelAdapter(value = "inputChannel", poller = @Poller(fixedDelay = "1000"))
public Message inboundAdaptor()
{
//get message from SQS queue
System.out.println("get message");
return message;
}
@Bean
@ServiceActivator(inputChannel = "inputChannel")
public String msgActivator(Message message)
{
//call another service and pass message body to that service
System.out.println("This is message body" + messageBody);
return messageBody;
}
Я ожидал, что, выполнив выше, действия внутри InboundChannelAdaptor
будут периодически вызваны благодаря Poller и передавать информацию сообщения в мою службу с помощью ServiceActivator
автоматически до тех пор, как у меня есть сообщение в SQS queue
.
Я проверил их с System.out.println()
, чтобы показать, что у меня есть. Однако System.out.println()
печатается только один раз для каждого метода. Означает ли это, что подольчик только что опросил только один раз и остановился, или я не могу проверить периодический вызов с System.out.println()
?
Любое предложение о правильном способе реализации этого рабочего процесса приветствуется.