[exo-jcr-commits] exo-jcr SVN: r4391 - jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1618.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed May 18 11:17:22 EDT 2011


Author: nzamosenchuk
Date: 2011-05-18 11:17:22 -0400 (Wed, 18 May 2011)
New Revision: 4391

Modified:
   jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1618/JCR-1618.patch
Log:
JCR-1618 : patch updated

Modified: jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1618/JCR-1618.patch
===================================================================
--- jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1618/JCR-1618.patch	2011-05-18 14:19:40 UTC (rev 4390)
+++ jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1618/JCR-1618.patch	2011-05-18 15:17:22 UTC (rev 4391)
@@ -1,26 +1,77 @@
+Index: exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/data-container.xml
+===================================================================
+--- exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/data-container.xml	(revision 4390)
++++ exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/data-container.xml	(working copy)
+@@ -96,18 +96,6 @@
+       <programlisting>boolean isCheckSNSNewConnection();
+ </programlisting>
+ 
+-      <important>
+-        <title>New connection for SNS</title>
+-
+-        <para>It is neccessary to check the name of nodes when they have the
+-        same names. Usually, new Workspace Storage Connection is used for this
+-        purpose. The improvement came from JDBC Workspace Data Container,
+-        which shows a better performance on Oracle RDBMS when using new
+-        connection for checking SNS existence. But later, this causes to
+-        deadlocks on Sybase RDBMS, so this feature is made as an optional and
+-        configurable one.</para>
+-      </important>
+-
+       <para>Container initialization is only based on a configuration. After
+       the container has been created, it's not possible to change parameters.
+       Configuration consists of implementation class and set of properties and
 Index: exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/jdbc-data-container-config.xml
 ===================================================================
---- exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/jdbc-data-container-config.xml	(revision 4367)
-+++ exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/jdbc-data-container-config.xml	(revision 4368)
-@@ -56,11 +56,16 @@
+--- exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/jdbc-data-container-config.xml	(revision 4390)
++++ exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/jdbc-data-container-config.xml	(working copy)
+@@ -56,6 +56,13 @@
          </listitem>
        </itemizedlist></para>
  
--    <para>Each database software supports ANSI SQL standards but also has its
--    own specifics. So, each database has its own configuration in eXo JCR as a
--    database dialect parameter. If you need a more detailed configuration of
--    the database, it's possible to do that by editing the metadata SQL-script
--    files.</para>
-+    <para><note>
-+        <para>Please note, that JCR supports only READ_COMMITED isolation
-+        level and any other RDBMS configurations can cause some side-effects
-+        and issues. So, please, make sure proper isolation level is configured
-+        on database server side.</para>
-+      </note>Each database software supports ANSI SQL standards but also has
-+    its own specifics. So, each database has its own configuration in eXo JCR
-+    as a database dialect parameter. If you need a more detailed configuration
-+    of the database, it's possible to do that by editing the metadata
-+    SQL-script files.</para>
++    <note>
++      <para>Please note, that JCR requires at least READ_COMMITED isolation
++      level and other RDBMS configurations can cause some side-effects and
++      issues. So, please, make sure proper isolation level is configured on
++      database server side.</para>
++    </note>
++
+     <para>Each database software supports ANSI SQL standards but also has its
+     own specifics. So, each database has its own configuration in eXo JCR as a
+     database dialect parameter. If you need a more detailed configuration of
+Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java
+===================================================================
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java	(revision 4390)
++++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java	(working copy)
+@@ -370,7 +370,7 @@
+       }
+       catch (RepositoryConfigurationException e)
+       {
+-         this.checkSNSNewConnection = DBConstants.DB_DIALECT_SYBASE.equals(this.dbDialect) ? false : true;
++         this.checkSNSNewConnection = false;
+       }
  
-     <para>In case the non-ANSI node name is used, it's necessary to use a
-     database with MultiLanguage support[TODO link to MultiLanguage]. Some JDBC
+       // ------------- Values swap config ------------------
+@@ -836,6 +836,22 @@
+     */
+    public void start()
+    {
++      // if isolation level lesser then TRANSACTION_READ_COMMITTED, print a warning
++      try
++      {
++         if (getConnectionFactory().getJdbcConnection().getTransactionIsolation() < Connection.TRANSACTION_READ_COMMITTED)
++         {
++            LOG.warn("Wrong RDBMS configuration, please check and set READ_COMMITTED or higher isolation level.");
++         }
++      }
++      catch (SQLException e)
++      {
++         LOG.error("Error checking isolation level configuration.", e);
++      }
++      catch (RepositoryException e)
++      {
++         LOG.error("Error checking isolation level configuration.", e);
++      }
+    }
+ 
+    /**



More information about the exo-jcr-commits mailing list