[英]spring boot jms initialcontext
我想配置一个Spring Boot应用程序来进行连接的JNDI查找(配置initialContext)。 它作为独立的Spring Boot应用程序运行(不在应用程序服务器上)。 尽管我自己提供了所有配置值(此处未设置超时/ etc,但通常是这样),但我的以下各项仍能正常工作:
@Bean
public ConnectionFactory tibJmsConnectionFactory() throws JMSException {
TibjmsConnectionFactory myFac = new TibjmsConnectionFactory();
myFac.setServerUrl("tcp://xxxxx:7222");
myFac.setUserName("xxxxxxx");
myFac.setUserPassword("xxxxxx");
return myFac;
}
@Bean
public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
DefaultJmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
configurer.configure(factory, connectionFactory);
return factory;
}
在应用程序服务器上运行时,可以通过在JNDI连接上指定“初始上下文工厂”来设置JNDI上下文URL,以从外部连接(在本例中为源JMS服务器)中提取配置值(超时/等)。 。 如何从不在应用程序服务器上运行的Spring Boot应用程序中进行等效操作?
您的tibJmsConnectionFactory()没有从服务器返回连接工厂。 您只是使用一些属性实例化了它。 您必须进行上下文查找。
Context ctx = new InitialContext(env);
TibjmsConnectionFactory connectionFactory = (TibjmsConnectionFactory) ctx.lookup("factoryName");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.