小编rfd*_*ers的帖子

获取JDBC连接时出错:无法在输入元感知对象时登记事务

我在获取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().

java jboss jndi jdbc ejb-3.0

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

ejb-3.0 ×1

java ×1

jboss ×1

jdbc ×1

jndi ×1