将Wildfly DataSource

时间:2018-09-10 00:43:49

标签: java java-ee jboss wildfly

我尝试在Wildfly 14中为本地Postgresql DB配置各种数据源XA和非XA,JTA和RESOURCE_LOCAL。我正在尝试部署一个使用PersistenceUnitInfo并从InitialContext初始化数据源的JAR。

现在的问题是我无法在数据源中关闭自动提交。以前,我在jetty-jnfi中将BasicDataSource类型的defaultAutoCommit属性设置为false,但在Wildfly配置中似乎没有相应的选项。

如果无法通过Wildfly,如何转换我的码头数据源配置,以及如何将其放置在Wildfly WS容器中?

以前的jetty-jndi配置

<Configure id="Server" class="org.eclipse.jetty.server.Server">
    <New id="myLocalDB" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg></Arg>
        <Arg>jdbc/myLocalDB</Arg>
        <Arg>
            <New class="org.apache.commons.dbcp2.BasicDataSource">
                <Set name="driverClassName">org.postgresql.Driver</Set>
                <Set name="url">jdbc:postgresql://localhost:5432/my_local_db</Set>
                <Set name="username">user</Set>
                <Set name="password">***</Set>
                <Set name="defaultAutoCommit">false</Set>
            </New>
        </Arg>
    </New>
</Configure>

PersistenceUnitInfo中的当前数据源初始化程序

@Override
public DataSource getJtaDataSource() {
    try {
        Context ctx = (Context) new InitialContext().lookup("java:jboss/datasources");
        return (DataSource) ctx.lookup("myLocalDB");
    } catch (NamingException e) {
        e.printStackTrace();
        return null;
    }
}

0 个答案:

没有答案