Spring Integration No poller has been defined for endpoint
Annotation alternative for defining global default pooler:
@Bean(name = PollerMetadata.DEFAULT_POLLER)
public PollerMetadata defaultPoller() {
PollerMetadata pollerMetadata = new PollerMetadata();
pollerMetadata.setTrigger(new PeriodicTrigger(10));
return pollerMetadata;
}
The problem is resolved by below steps-
- Right click on your project in eclipse.
- Then Maven > Update Project.
Note: Make sure you have xsd and jar in place as well.
<int-stream:stdin-channel-adapter id="producer" channel="messageChannel" >
<int:poller id="defaultPoller" default="true" fixed-rate="200" />
</int-stream:stdin-channel-adapter>
You have several queue
channels. To receive Messages from them you should configure <poller>
: global one, or for each component, which are subscribed to those queues: Poller Configuration, Poller sample
UPDATE:
Global poller:
<int:poller default="true" fixed-delay="50"/>
Queue channels are splitter, router and service activator right?
No, channels are channels and they don't do anything with messages, from big height, of course. Messages are gotten from channels by Endpoint
s. In case of queue
it should be PollingConsumer
and the exception says exactly it. So, you have to: or add global poller, but in this case all endpoints will poll messages via the same rules, or configure <poller>
for each endpoint. In your case they are components who have those queues as input-channel
.