[exo-jcr-commits] exo-jcr SVN: r4177 - in jcr/trunk: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Mar 25 12:21:35 EDT 2011
Author: nfilotto
Date: 2011-03-25 12:21:35 -0400 (Fri, 25 Mar 2011)
New Revision: 4177
Modified:
jcr/trunk/exo.jcr.component.core/pom.xml
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config.xml
jcr/trunk/packaging/module/src/main/javascript/jcr.packaging.module.js
Log:
EXOJCR-1268: Allow to rely on the ConfigurationManager to get the JGroups configuration when we use ISPN as underlying cache
Modified: jcr/trunk/exo.jcr.component.core/pom.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/pom.xml 2011-03-25 15:13:50 UTC (rev 4176)
+++ jcr/trunk/exo.jcr.component.core/pom.xml 2011-03-25 16:21:35 UTC (rev 4177)
@@ -160,6 +160,10 @@
<artifactId>commons-beanutils</artifactId>
</dependency>
<dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.jgroups</groupId>
<artifactId>jgroups</artifactId>
</dependency>
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java 2011-03-25 15:13:50 UTC (rev 4176)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java 2011-03-25 16:21:35 UTC (rev 4177)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.infinispan;
+import org.apache.commons.io.IOUtils;
import org.exoplatform.commons.utils.SecurityHelper;
import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.ExoContainerContext;
@@ -35,11 +36,13 @@
import java.io.IOException;
import java.io.InputStream;
+import java.net.URL;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
/**
* Factory that creates and starts pre-configured instances of Infinispan.
@@ -56,6 +59,7 @@
public static final String INFINISPAN_CONFIG = "infinispan-configuration";
+ private final ConfigurationManager configurationManager;
private final TemplateConfigurationHelper configurationHelper;
private static final Log log = ExoLogger.getLogger("exo.jcr.component.core.InfinispanCacheFactory");
@@ -75,6 +79,7 @@
*/
public ISPNCacheFactory(ConfigurationManager configurationManager)
{
+ this.configurationManager = configurationManager;
this.configurationHelper = new ISPNCacheHelper(configurationManager);
}
@@ -119,7 +124,9 @@
{
public EmbeddedCacheManager run() throws IOException
{
- return getUniqueInstance(regionIdEscaped, new DefaultCacheManager(configStream));
+ DefaultCacheManager manager = new DefaultCacheManager(configStream, false);
+ loadJGroupsConfig(manager);
+ return getUniqueInstance(regionIdEscaped, manager);
}
});
@@ -142,6 +149,48 @@
}
/**
+ * This method is used to load the file corresponding to the path set on the property
+ * <tt>configurationFile</tt> using the configuration manager, then set the XML content
+ * as value of the property <tt>configurationXml</tt>.
+ * @param manager the manager from which we extract the transport properties in which
+ * we will find the path of the JGroups configuration
+ * @throws IOException if the configuration file cannot be read
+ */
+ private void loadJGroupsConfig(DefaultCacheManager manager) throws IOException
+ {
+ Properties p = manager.getGlobalConfiguration().getTransportProperties();
+ if (p != null && p.containsKey("configurationFile"))
+ {
+ URL jgroupsConfigURL = null;
+ InputStream jgroupsConfigInputStream = null;
+ try
+ {
+ // Trying to get the configuration from the configuration manager
+ String configurationFile = p.getProperty("configurationFile");
+ jgroupsConfigInputStream = configurationManager.getInputStream(configurationFile);
+ jgroupsConfigURL = configurationManager.getResource(configurationFile);
+ }
+ catch (Exception e)
+ {
+ // ignore me
+ }
+ if (jgroupsConfigInputStream != null)
+ {
+ try
+ {
+ log.info("Custom JGroups configuration set: " + jgroupsConfigURL);
+ p.setProperty("configurationXml", IOUtils.toString(jgroupsConfigInputStream));
+ p.remove("configurationFile");
+ }
+ finally
+ {
+ jgroupsConfigInputStream.close();
+ }
+ }
+ }
+ }
+
+ /**
* Try to find if a {@link EmbeddedCacheManager} of the same type (i.e. their {@link GlobalConfiguration} are equals)
* has already been registered for the same current container.
* If no cache manager has been registered, we register the given cache manager otherwise we
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config.xml 2011-03-25 15:13:50 UTC (rev 4176)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-jcr-config.xml 2011-03-25 16:21:35 UTC (rev 4177)
@@ -55,7 +55,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -64,7 +64,7 @@
<property name="index-dir" value="target/temp/index/db1/ws" />
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
</properties>
@@ -73,7 +73,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -113,7 +113,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -121,7 +121,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db1/ws1" />
@@ -139,7 +139,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -179,7 +179,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -187,7 +187,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db1/ws2" />
@@ -205,7 +205,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -268,7 +268,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -276,7 +276,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db1/ws3" />
@@ -294,7 +294,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -351,7 +351,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -359,7 +359,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db2/ws" />
@@ -369,7 +369,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -415,7 +415,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -423,7 +423,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db2/ws1" />
@@ -433,7 +433,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -490,7 +490,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -498,7 +498,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db1tck/ws" />
@@ -517,7 +517,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -564,7 +564,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -572,7 +572,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db1tck/ws1" />
@@ -590,7 +590,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
@@ -637,7 +637,7 @@
class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
<properties>
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-config.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
</properties>
</cache>
@@ -645,7 +645,7 @@
<properties>
<property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-indexer.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="max-volatile-time" value="60" />
<property name="index-dir" value="target/temp/index/db1tck/ws2" />
@@ -666,7 +666,7 @@
<properties>
<property name="time-out" value="15m" />
<property name="infinispan-configuration" value="conf/standalone/cluster/test-infinispan-lock.xml" />
- <property name="jgroups-configuration" value="flush-udp.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
<property name="infinispan-cluster-name" value="JCR-cluster" />
<property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
<property name="infinispan-cl-cache.jdbc.table.create" value="true" />
Modified: jcr/trunk/packaging/module/src/main/javascript/jcr.packaging.module.js
===================================================================
--- jcr/trunk/packaging/module/src/main/javascript/jcr.packaging.module.js 2011-03-25 15:13:50 UTC (rev 4176)
+++ jcr/trunk/packaging/module/src/main/javascript/jcr.packaging.module.js 2011-03-25 16:21:35 UTC (rev 4177)
@@ -22,8 +22,7 @@
addDependency(new Project("jcr", "jcr", "jar", "1.0")).
addDependency(new Project("concurrent", "concurrent", "jar", "1.3.4")).
addDependency(new Project("org.jgroups", "jgroups", "jar", "2.11.1.Final")).
-// addDependency(new Project("stax", "stax-api", "jar", "1.0")).
-// addDependency(new Project("stax", "stax", "jar", "1.2.0")).
+ addDependency(new Project("commons-io", "commons-io", "jar", "1.3.2")).
addDependency(new Project("org.jboss.cache","jbosscache-core","jar","3.2.6.GA")).
addDependency(new Project("jboss.jbossts","jbossjts","jar","4.6.1.GA")).
addDependency(new Project("jboss.jbossts","jbossts-common","jar","4.6.1.GA")).
More information about the exo-jcr-commits
mailing list