Description
The follwoing code seems to be leaving isolation level to -1 (default) instead of setting a correct isolation level for the connections. I think this is not right because this is leaving the contianer to use its own default isolation level. It will be, for example, Repeatable-read when using IBM WebShpere.
in DataSourceFactory.java:
public static DecoratingDataSource installDBDictionary(DBDictionary dict,
DecoratingDataSource ds, final JDBCConfiguration conf,
boolean factory2)
with the default value set in JDBCConfigurationImpl.java:
public JDBCConfigurationImpl(boolean derivations, boolean loadGlobals) {
super(false, false);
String[] aliases;
schema = addString("jdbc.Schema");
schemas = addStringList("jdbc.Schemas");
transactionIsolation = addInt("jdbc.TransactionIsolation");
aliases = new String[]
;
transactionIsolation.setAliases(aliases);
transactionIsolation.setDefault(aliases[0]);
transactionIsolation.set(-1);
transactionIsolation.setAliasListComprehensive(true);
...
}
The fix of this is to set it to "Read-Committed" which will make it in sync with JDBC direct connections.