我的项目出了点问题。当我通过库连接到数据库时,问题就出现了。
这个库包含以下代码:
PreparedStatement stmt = null;
try {
con.setAutoCommit(true);
stmt = con.prepareStatement(this.sqlIniBD);
stmt.setString(1, id);
stmt.executeUpdate();
} catch (Throwable t) {
if (this.tavi.activo()) this.tavi.escribir(toString(), "No se ha podido insertar la fila inicial para las claves de encriptacion (" + id + "). Posiblemente ya existe: " + t);
}我想问你,有没有可能在我的standalone.xml中放入autoCommit(false)。也许这很奇怪或者很愚蠢。这是数据源,例如:
<datasource jta="false" jndi-name="java:/xxx" pool-name="xxx" enabled="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@oradag.cm.es:1524:oradag1</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<connection-property name="autoCommit">
<!-- not working -->false
</connection-property>
<driver>ojdbc7.jar</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<timeout>
<set-tx-query-timeout>false</set-tx-query-timeout>
<blocking-timeout-millis>0</blocking-timeout-millis>
<idle-timeout-minutes>0</idle-timeout-minutes>
<query-timeout>0</query-timeout>
<use-try-lock>0</use-try-lock>
<allocation-retry>0</allocation-retry>
<allocation-retry-wait-millis>0</allocation-retry-wait-millis>
</timeout>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>有什么想法吗?我不能修改这个库,我没有代码。
所以我唯一的希望就是standalone.xml。
发布于 2016-11-28 23:26:29
最后,解决方案是选择jar中的代码,并创建一个新的java项目。将变量更改为setAutoCommit(false),然后重新编译项目,并像jar一样导出。因此,最终我得到了新的jar,并在变量中更改了值。
一个奇怪的解决方案,但是解决了这个问题。当然,我使用了一个反编译器来实现这个解决方案
谢谢大家
https://stackoverflow.com/questions/40787966
复制相似问题