Spring 获取JMS的已注释方法终结点
有没有办法通过注释找到所有配置的方法jmsListenerEndpoint 我想用不同的消息侦听器容器注册所有这些端点Spring 获取JMS的已注释方法终结点,spring,jms,spring-jms,spring-annotations,Spring,Jms,Spring Jms,Spring Annotations,有没有办法通过注释找到所有配置的方法jmsListenerEndpoint 我想用不同的消息侦听器容器注册所有这些端点 @JmsListener(destination = "TestQueue") public void process(String msg) { System.out.println(msg); } //TODO for all connections foreach(connections){ //TODO get all annotated endpoint
@JmsListener(destination = "TestQueue")
public void process(String msg) {
System.out.println(msg);
}
//TODO for all connections
foreach(connections){
//TODO get all annotated endpoints as prototype
foreach(endpoint){
MethodJmsListenerEndpoint processEndpoint = endpoint;
registrar.registerEndpoint(processEndpoint,containerFactory(connection));
}
}
根据您的提供者,您可以使用配置定制器bean(如HornetQConfigurationCustomizer)在此bean初始化期间操作任何设置
如果您的配置在运行时应该是真正可采用和可管理的,那么您根本不应该使用@JmsListener注释。只需在代码中注册它们,就像Spring建议的那样:您可以在
@JmsListener
上指定要绑定到哪个容器。那么,您为什么需要或希望手动执行此操作呢?我们在每个环境中都有不同数量的连接,我们从DB中读取连接详细信息。然后使用PropertySource
钩住您的DB内容,以便您可以使用标准配置机制。这将使您的整个配置更加容易。到目前为止,我正在采用相同的方法,只是想知道,如果有机制获取通过注释配置的MethodJMSLIEnterendPoint。这可以通过手动扫描这些注释的类来实现。您能帮我提供一个@Pavel Muravyov示例吗在jmsListenerNotationBeanPostProcessor内部,特别是在postProcessAfterInitialization()方法中的源代码。希望这对汉克斯很有帮助!这对我真是一个很大的帮助。