[infinispan-commits] Infinispan SVN: r825 - in trunk/core/src: main/java/org/infinispan/remoting/transport and 1 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Wed Sep 16 07:53:03 EDT 2009
Author: galder.zamarreno at jboss.com
Date: 2009-09-16 07:53:03 -0400 (Wed, 16 Sep 2009)
New Revision: 825
Modified:
trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
trunk/core/src/main/java/org/infinispan/remoting/transport/Transport.java
trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java
Log:
Removed TODO by fixing the actual test case. I've also added one that deals with GlobalConfiguration clone instances and for that, I had to extend GC.clone() implementation. Finally, removed a comment that I had added previously in Transport.
Modified: trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-09-16 01:21:58 UTC (rev 824)
+++ trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-09-16 11:53:03 UTC (rev 825)
@@ -404,7 +404,16 @@
@Override
public GlobalConfiguration clone() {
try {
- return (GlobalConfiguration) super.clone();
+ GlobalConfiguration dolly = (GlobalConfiguration) super.clone();
+ if (asyncListenerExecutor != null) dolly.asyncListenerExecutor = asyncListenerExecutor.clone();
+ if (asyncTransportExecutor != null) dolly.asyncTransportExecutor = asyncTransportExecutor.clone();
+ if (evictionScheduledExecutor != null) dolly.evictionScheduledExecutor = evictionScheduledExecutor.clone();
+ if (replicationQueueScheduledExecutor != null) dolly.replicationQueueScheduledExecutor = replicationQueueScheduledExecutor.clone();
+ if (globalJmxStatistics != null) dolly.globalJmxStatistics = (GlobalJmxStatisticsType) globalJmxStatistics.clone();
+ if (transport != null) dolly.transport = transport.clone();
+ if (serialization != null) dolly.serialization = (SerializationType) serialization.clone();
+ if (shutdown != null) dolly.shutdown = (ShutdownType) shutdown.clone();
+ return dolly;
}
catch (CloneNotSupportedException e) {
throw new CacheException("Problems cloning configuration component!", e);
@@ -544,8 +553,7 @@
@XmlElement
public void setProperties(TypedProperties properties) {
- //testImmutability("properties");
- //TODO fails JmxStatsFunctionalTest#testMultipleManagersOnSameServerFails
+ testImmutability("properties");
this.properties = properties;
}
Modified: trunk/core/src/main/java/org/infinispan/remoting/transport/Transport.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/remoting/transport/Transport.java 2009-09-16 01:21:58 UTC (rev 824)
+++ trunk/core/src/main/java/org/infinispan/remoting/transport/Transport.java 2009-09-16 11:53:03 UTC (rev 825)
@@ -34,7 +34,6 @@
@NonVolatile
public interface Transport extends Lifecycle {
// TODO discovery should be abstracted away into a separate set of interfaces such that it is not tightly coupled to the transport
- // Galder 15/09/09: what discovery??
/**
* Initializes the transport with global cache configuration and transport-specific properties.
Modified: trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java 2009-09-16 01:21:58 UTC (rev 824)
+++ trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java 2009-09-16 11:53:03 UTC (rev 825)
@@ -149,7 +149,7 @@
globalConfiguration2.setExposeGlobalJmxStatistics(true);
globalConfiguration2.setAllowDuplicateDomains(false);
globalConfiguration2.setMBeanServerLookup(PerThreadMBeanServerLookup.class.getName());
- cm2 = TestCacheManagerFactory.createCacheManager(globalConfiguration);
+ cm2 = TestCacheManagerFactory.createCacheManager(globalConfiguration2);
Configuration localCache2 = config();//local by default
localCache2.setExposeJmxStatistics(true);
cm2.defineConfiguration("local_cache", localCache);
@@ -160,7 +160,34 @@
//expected
}
}
+
+ public void testMultipleManagersOnSameServerWithCloneFails() {
+ assert !existsDomains("infinispan");
+ GlobalConfiguration globalConfiguration = GlobalConfiguration.getClusteredDefault();
+ globalConfiguration.setMBeanServerLookup(PerThreadMBeanServerLookup.class.getName());
+ cm = TestCacheManagerFactory.createCacheManager(globalConfiguration);
+ Configuration localCache = config();//local by default
+ localCache.setExposeJmxStatistics(true);
+ cm.defineConfiguration("local_cache", localCache);
+ cm.getCache("local_cache");
+ assert existsObject("infinispan:cache-name=local_cache(local),jmx-resource=Statistics");
+ GlobalConfiguration globalConfigurationClone = globalConfiguration.clone();
+ globalConfigurationClone.setExposeGlobalJmxStatistics(true);
+ globalConfigurationClone.setAllowDuplicateDomains(false);
+ globalConfigurationClone.setMBeanServerLookup(PerThreadMBeanServerLookup.class.getName());
+ cm2 = TestCacheManagerFactory.createCacheManager(globalConfigurationClone);
+ Configuration localCache2 = config();//local by default
+ localCache2.setExposeJmxStatistics(true);
+ cm2.defineConfiguration("local_cache", localCache);
+ try {
+ cm2.getCache("local_cache");
+ assert false : "exception expected";
+ } catch (CacheException e) {
+ //expected
+ }
+ }
+
public void testMultipleManagersOnSameServer() {
assert !existsDomains("infinispan");
GlobalConfiguration globalConfiguration = GlobalConfiguration.getClusteredDefault();
More information about the infinispan-commits
mailing list