我在获取JDBC连接时遇到问题EJB SessionBean.错误是:
org.jboss.util.NestedSQLException:无法在输入元感知对象时登记事务! - 嵌套throwable:(javax.transaction.SystemException:java.lang.Throwable:无法登记资源,请参阅先前的警告.
我认为这种情况发生了,因为我已经有一个来自不同数据源的开放连接,所以我配置了一个XA数据源以避免交易问题,但它根本不起作用,所以我不知道我是否做错了我的代码.这里是:
try
{
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
p.put(Context.PROVIDER_URL,"jnp://localhost:11099");
p.put("java.naming.factory.url.pkgs", "org.jboss.naming");
InitialContext ic = new InitialContext(p);
DataSource dataSource = (DataSource)ic.lookup("java:/jdbc/etlreportservices");
return dataSource.getConnection();
}
catch(Exception e)
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
调用时抛出异常dataSource.getConnection().