我试图从dataSource
- jndi
内的standalone.xml
检索<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/introDB" pool-name="introDS" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>
jdbc:postgresql://127.0.0.1:5432/hres
</connection-url>
<driver>
postgresql-9.3-1102.jdbc4
</driver>
<pool>
<prefill>
false
</prefill>
<use-strict-min>
false
</use-strict-min>
<flush-strategy>
FailingConnectionOnly
</flush-strategy>
</pool>
<security>
<user-name>
postgres
</user-name>
<password>
postgres
</password>
</security>
<validation>
<validate-on-match>
false
</validate-on-match>
<background-validation>
false
</background-validation>
<useFastFail>
false
</useFastFail>
</validation>
</datasource>
</datasources>
对象。我按照以下方式做到这一点:
DataSource配置:
dataSource
现在,我试图以编程方式获取DataSource dataSource = null;
try {
dataSource = (DataSource) jndi.lookup("java:jboss/datasources/introDB");
} catch (NamingException e) { }
对象。
NameNotFoundException
但代码抛出异常,如{{1}}。我做错了什么?
答案 0 :(得分:0)
我找到了解决方案。错误的是将jndi-name
属性设置为java:jboss/datasources/introDB
。如果您想使用像datasources/introDB
这样的jndi名称,则应该在没有java:
前缀的情况下输入它。所以,正确的jndi-name
是
jndi-name=datasources/introDB