![](/img/trans.png)
[英]javax.naming.NameNotFoundException in eclipse while using JNDI to connect to datasource created in JBOSS 7
[英]NameNotFoundException while opening connection from Datasource, JNDI
我有一个使用JSF的应用程序,我手动选择了连接,但是现在我必须更改它并打开数据源中的所有连接,因此目录中有一个.xml文件(Jboss 7)
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns="http://www.jboss.org/ironjacamar/schema">
<datasource
jndi-name="java:jboss/datasources/MyForum"
enabled="true"
use-java-context="true"
pool-name="MyForum">
<connection-url>jdbc:hsqldb:hsql://localhost</connection-url>
<driver>hsqldb.jar</driver>
<pool></pool>
<security>
<user-name>sa</user-name>
<password></password>
</security>
</datasource>
</datasources>
然后我有代码来访问类“ JdbcHelper”中的JNDI名称
public Connection createConnection() {
try {
String jndiKey = getProperty("JNDI_DATASOURCE");
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(jndiKey);
return ds.getConnection();
} catch (NamingException e) {
throw new RuntimeException("Can't open JDBC conection from JNDI", e);
} catch (SQLException e) {
throw new RuntimeException("Can't open JDBC conection", e);
}
}
DataSource ds = (DataSource) ctx.lookup(jndiKey);
异常的行是此DataSource ds = (DataSource) ctx.lookup(jndiKey);
我不知道您是否需要更多信息,但是如果您只想问,我真的需要这样做,而我找不到解决方法:(
更新,这是该异常的详细信息
datasources/MyForum -- service jboss.naming.context.java.jboss.datasources.MyForum
提前非常感谢您。 :)
我的猜测是您没有正确初始化InitialContext
,这可能会帮助您: 在JBoss AS 7.1.1中创建初始Context。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.