我尝试在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;
}
}