【问题标题】:Autowire JNDI Resource in Spring在 Spring 中自动装配 JNDI 资源
【发布时间】:2014-10-07 20:33:43
【问题描述】:

我想知道如何使用注解在 Spring 控制器中自动装配 JNDI 资源。

目前我可以使用检索资源

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="my/service"/>
</bean>

有什么办法,我可以使用注释做同样的事情吗?就像是 @Resource(name="my/service") ?

【问题讨论】:

  • 目前尚不清楚您要实现的目标。您可以使用 @Autowired 自动装配 Spring 上下文中的任何 bean。如果你想使用一个标识符,那么你的 bean id 就可以达到这个目的。但是,我不确定您为什么要自动装配 JNDI 工厂 bean。
  • 你解决了这个问题吗?如果是,你是怎么解决的?

标签: spring spring-mvc jndi


【解决方案1】:
@Configuration
public class Configuration {
    @Bean(destroyMethod = "close")
    public DataSource dataSource() {
        JndiDataSourceLookup dsLookup = new JndiDataSourceLookup();
        dsLookup.setResourceRef(false);
        DataSource dataSource = dsLookup.getDataSource("my/service");       
        return dataSource;
    }
}

【讨论】:

    【解决方案2】:

    我使用这个配置来注入一个 JNDI 资源

    弹簧配置

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:beans="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:jee="http://www.springframework.org/schema/jee"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/context
                http://www.springframework.org/schema/context/spring-context.xsd
                http://www.springframework.org/schema/jee 
                http://www.springframework.org/schema/jee/spring-jee.xsd">
    
        <jee:jndi-lookup id="destination" jndi-name="java:/queue/inbound/jndiname" />
    
    </beans>
    

    @Autowired
    private javax.jms.Destination destination;
    

    【讨论】:

      猜你喜欢
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 2014-04-14
      • 1970-01-01
      相关资源
      最近更新 更多