【问题标题】:How to get Jndi name in java class in Spring如何在 Spring 的 java 类中获取 Jndi 名称
【发布时间】:2016-02-26 14:28:15
【问题描述】:

我想在我的 java conf Spring 中获取 JNDI 值。

context.xml 文件:

<Environment name="foo" type="java.lang.String" value="bar" />

xml 弹簧配置:

<jee:jndi-lookup id="foobar" jndi-name="java:comp/env/foo" default-value="nothing"/>

java spring 配置:

@Bean
public String foobar() {
    ???
}

如果有人能给我一个例子,那将非常有用。谢谢

【问题讨论】:

    标签: java spring spring-mvc jndi lookup


    【解决方案1】:

    编辑:

    尝试自动装配 JndiObjectFactoryBean 它将有一个 getJndiName() 方法,该方法继承自 JndiObjectLocator 将暴露您的 jndi 名称

    试试这个

    @Bean
        public DataSource dataSource() {
            final JndiDataSourceLookup dsLookup = new JndiDataSourceLookup();
            dsLookup.setResourceRef(true);
            DataSource dataSource = dsLookup.getDataSource("jdbc/yourJdbcGoesHere");
            return dataSource;
        }
    

    【讨论】:

    • 我不需要数据源,只需要一个字符串对象。我可以使用 org.springframework.jndi.JndiLocatorSupport 扩展我的课程吗?
    • @aMod 尝试自动装配JndiObjectFactoryBean,它将使用getJndiName() 方法公开您的jndi 名称
    猜你喜欢
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多