[
https://issues.apache.org/jira/browse/OPENJPA-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Lee resolved OPENJPA-381.
--------------------------------
Resolution: Invalid
The code is correct base on the OpenJPA User's Guide and it default setting is
fine as long as OpenJPA passes TCK.
> OpenJPA is not doing Optimistic locking when running in JEE evnironment
> -----------------------------------------------------------------------
>
> Key: OPENJPA-381
> URL: https://issues.apache.org/jira/browse/OPENJPA-381
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.0.0
> Environment: JEE
> Reporter: Daniel Lee
> Fix For: 1.1.0
>
>
> 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) {
> ...
>
> ccd.setTransactionIsolation(conf.getTransactionIsolationConstant());
> ...
> }
> 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[]{
> "default", String.valueOf(-1),
> "none", String.valueOf(Connection.TRANSACTION_NONE),
> "read-committed", String.valueOf
> (Connection.TRANSACTION_READ_COMMITTED),
> "read-uncommitted", String.valueOf
> (Connection.TRANSACTION_READ_UNCOMMITTED),
> "repeatable-read", String.valueOf
> (Connection.TRANSACTION_REPEATABLE_READ),
> "serializable",
> String.valueOf(Connection.TRANSACTION_SERIALIZABLE)
> };
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.