【问题标题】:spring boot jms initialcontextspring boot jms 初始上下文
【发布时间】:2017-12-30 15:30:24
【问题描述】:

我正在寻找配置一个 Spring Boot 应用程序来执行连接的 JNDI 查找(配置 initialContext)。这是作为独立的 Spring Boot 应用程序运行的(不在应用程序服务器上)。我有以下工作正常,虽然我自己提供了所有配置值(这里没有设置超时/等,但通常是这样):

@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 上下文 URL,通过在JNDI 连接。如何从不在应用程序服务器上运行的 Spring Boot 应用程序执行等效操作?

【问题讨论】:

    标签: java spring spring-boot jms spring-jms


    【解决方案1】:

    您的 tibJmsConnectionFactory() 没有从服务器返回连接工厂。你只是用一些属性来实例化它。您必须进行上下文查找。

        Context ctx = new InitialContext(env);      
    
        TibjmsConnectionFactory connectionFactory = (TibjmsConnectionFactory) ctx.lookup("factoryName");
    

    【讨论】:

      猜你喜欢
      • 2015-09-19
      • 1970-01-01
      • 2019-01-10
      • 2020-09-09
      • 2014-06-25
      • 1970-01-01
      • 2017-03-17
      • 2014-09-13
      • 2018-07-08
      相关资源
      最近更新 更多