繁体   English   中英

Spring Boot JMS InitialContext

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM