Ich habe eine Frühlings App mit JMS (ActiveMQ)Wann ist nützlich das @ JmsListener id Attribut?
Ich habe folgende Arbeiten:
@Bean
public DefaultJmsListenerContainerFactory jmsListenerTopicContainerFactoryForSection01(ConnectionFactory selectedConnectionFactory) {
DefaultJmsListenerContainerFactory djlcf = new DefaultJmsListenerContainerFactory();
djlcf.setClientId("jmsListenerTopicContainerFactoryForSection01");
djlcf.setConnectionFactory(selectedConnectionFactory);
djlcf.setPubSubDomain(true); //True
djlcf.setConcurrency("1");
djlcf.setAutoStartup(true);
djlcf.setSubscriptionDurable(true);
return djlcf;
}
Und über @JmsListener
ich habe:
@JmsListener(destination="springintegration.queue.local.to.section01",
containerFactory="jmsListenerQueueContainerFactoryForSection01")
public void receiveToSection01(Message message){
logger.info("receiveToSection01: {}", message.toString());
}
ich in ActiveMQ
Webkonsole bestätigen das existiert in Aktive Abonnenten die jmsListenerQueueContainerFactoryForSection01
Bis hier geht es mir gut.
Jetzt benutze ich die @JmsListener
‚s id Attribute wie:
@JmsListener(destination="springintegration.queue.local.to.section01",
id="abc",
containerFactory="jmsListenerQueueContainerFactoryForSection01")
public void receiveToSection01(Message message){
logger.info("receiveToSection01: {}", message.toString());
}
ich nie den id
abc in dem ActiveMQ
Webkonsole sehen kann. Ich sehe immer jmsListenerQueueContainerFactoryForSection01
- Ich weiß, dass
@JmsListener
Gleichzeitigkeit Attribut kann
die DefaultJmsListenerContainerFactory
setConcurrency Methode überschreiben, aber es gilt nicht für das id
Attribut.
Nach dem @JmsListener'id api sagt
Die eindeutige Kennung des Behälters diesen Endpunkt zu verwalten. Wenn keine angegeben ist, wird automatisch eine generiert.
Deshalb
- Wann ist nützlich Verwendung der
@JmsListener
id Attribut? - Wo ich den
@JmsListener
id sehen (abc
in diesem Fall - oder sogar automatisch generierte nach dem API)
Danke, scheint es für die interne Kontrolle, und durch diese Methoden kann ich diese spezifischen Daten erhalten, interessant dieser Ansatz ... –
Über 'JmsListenerEndpointRegistry' ist etwas zu ergänzen in http://stackoverflow.com/a/32719138/3665178 –