Установите для AutoCommit значение false для источника данных Wildfly - PullRequest
0 голосов
/ 10 сентября 2018

Я попытался настроить все виды источников данных XA и non-XA, JTA и RESOURCE_LOCAL в Wildfly 14 для локальной базы данных Postgresql. Я пытаюсь развернуть JAR, который использует PersistenceUnitInfo и инициализирует источник данных из InitialContext.

Проблема в том, что я не могу отключить автоматическую фиксацию в источнике данных. Ранее я устанавливал для свойства defaultAutoCommit в jetty-jnfi для типа BasicDataSource значение false, но я не вижу соответствующей опции в конфигурации Wildfly.

Если это невозможно через Wildfly, как я могу перевести конфигурацию источника данных Jetty и куда мне ее поместить, чтобы посмотреть на контейнер 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;
    }
}
...