[infinispan-commits] Infinispan SVN: r975 - in trunk/core/src: main/java/org/infinispan/loaders/file and 2 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Mon Oct 19 16:11:13 EDT 2009
Author: vblagojevic at jboss.com
Date: 2009-10-19 16:11:12 -0400 (Mon, 19 Oct 2009)
New Revision: 975
Modified:
trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java
trunk/core/src/main/java/org/infinispan/config/TypedPropertiesAdapter.java
trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStore.java
trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java
trunk/core/src/test/resources/stacks/tcp.xml
trunk/core/src/test/resources/stacks/udp.xml
Log:
[ISPN-192] - Use JGroups 2.8 feature: flag to override message bundling at the transport level
bundling on
handle MinimalConfigurationParsingTest use case
handle token replacement for <property>
Modified: trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java 2009-10-19 16:47:11 UTC (rev 974)
+++ trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java 2009-10-19 20:11:12 UTC (rev 975)
@@ -24,8 +24,6 @@
import org.infinispan.Version;
import org.infinispan.config.parsing.XmlConfigurationParser;
import org.infinispan.util.FileLookup;
-import org.infinispan.util.logging.Log;
-import org.infinispan.util.logging.LogFactory;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
@@ -41,7 +39,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
-import java.util.Collections;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -67,8 +65,6 @@
@XmlAccessorType(XmlAccessType.FIELD)
public class InfinispanConfiguration implements XmlConfigurationParser {
- private static Log log = LogFactory.getLog(InfinispanConfiguration.class);
-
public static final String VALIDATING_SYSTEM_PROPERTY = "infinispan.config.validate";
public static final String SCHEMA_SYSTEM_PROPERTY = "infinispan.config.schema";
@@ -80,13 +76,13 @@
private static final String DEFAULT_SCHEMA_URL = "http://www.jboss.org/infinispan/infinispan-config-" + Version.getMajorVersion() + ".xsd";
@XmlElement
- private GlobalConfiguration global;
+ private final GlobalConfiguration global = new GlobalConfiguration();
@XmlElement(name = "default")
- private Configuration defaultConfiguration;
+ private final Configuration defaultConfiguration = new Configuration();
@XmlElement(name = "namedCache")
- private List<Configuration> namedCaches;
+ private final List<Configuration> namedCaches = new ArrayList<Configuration>();
/**
* Factory method to create an instance of Infinispan configuration. If users want to verify configuration file
@@ -207,7 +203,6 @@
InfinispanConfiguration ic = (InfinispanConfiguration) u.unmarshal(config);
// legacy, don't ask
GlobalConfiguration gconf = ic.parseGlobalConfiguration();
- if (gconf == null) throw new ConfigurationException("Unable to parse configuration file. Possibly an old or invalid configuration file?");
gconf.setDefaultConfiguration(ic.parseDefaultConfiguration());
if (cbv != null) {
ic.accept(cbv);
@@ -272,12 +267,10 @@
public void accept(ConfigurationBeanVisitor v) {
global.accept(v);
- defaultConfiguration.accept(v);
- if (namedCaches != null) {
- for (Configuration c : namedCaches) {
- c.accept(v);
- }
- }
+ defaultConfiguration.accept(v);
+ for (Configuration c : namedCaches) {
+ c.accept(v);
+ }
v.visitInfinispanConfiguration(this);
}
@@ -300,8 +293,7 @@
return global;
}
- public Map<String, Configuration> parseNamedConfigurations() throws ConfigurationException {
- if (namedCaches == null) return Collections.emptyMap();
+ public Map<String, Configuration> parseNamedConfigurations() throws ConfigurationException {
Map<String, Configuration> map = new HashMap<String, Configuration>(7);
for (Configuration conf : namedCaches) {
map.put(conf.getName(), conf);
Modified: trunk/core/src/main/java/org/infinispan/config/TypedPropertiesAdapter.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/TypedPropertiesAdapter.java 2009-10-19 16:47:11 UTC (rev 974)
+++ trunk/core/src/main/java/org/infinispan/config/TypedPropertiesAdapter.java 2009-10-19 20:11:12 UTC (rev 975)
@@ -21,7 +21,11 @@
*/
package org.infinispan.config;
+import org.infinispan.loaders.file.FileCacheStore;
import org.infinispan.util.TypedProperties;
+import org.infinispan.util.logging.Log;
+import org.infinispan.util.logging.LogFactory;
+import org.jboss.util.StringPropertyReplacer;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.util.Map.Entry;
@@ -33,6 +37,8 @@
* @since 4.0
*/
public class TypedPropertiesAdapter extends XmlAdapter<PropertiesType, TypedProperties> {
+
+ private static final Log log = LogFactory.getLog(TypedPropertiesAdapter.class);
@Override
public PropertiesType marshal(TypedProperties tp) throws Exception {
@@ -55,6 +61,19 @@
TypedProperties tp = new TypedProperties();
if (props != null && props.properties != null) {
for (Property p : props.properties) {
+ if (p.value != null) {
+ String originalValue = p.value;
+ boolean needsTokenReplacement = originalValue.indexOf('$') >= 0
+ && originalValue.indexOf('{') > 0 && originalValue.indexOf('}') > 0;
+
+ if (needsTokenReplacement) {
+ p.value = StringPropertyReplacer.replaceProperties(originalValue);
+ if (originalValue.equals(p.value)) {
+ log.warn("Property " + p.name + " with value " + originalValue
+ + " could not be replaced as intended!");
+ }
+ }
+ }
tp.put(p.name, p.value);
}
}
Modified: trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStore.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStore.java 2009-10-19 16:47:11 UTC (rev 974)
+++ trunk/core/src/main/java/org/infinispan/loaders/file/FileCacheStore.java 2009-10-19 20:11:12 UTC (rev 975)
@@ -215,8 +215,10 @@
location = "Infinispan-FileCacheStore"; // use relative path!
location += File.separator + cache.getName();
root = new File(location);
- if (!root.mkdirs()) {
- log.warn("Problems creting the directory: " + root);
+ if(!root.exists()) {
+ if (!root.mkdirs()) {
+ log.warn("Problems creating the directory: " + root);
+ }
}
if (!root.exists()) {
throw new ConfigurationException("Directory " + root.getAbsolutePath() + " does not exist and cannot be created!");
Modified: trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java 2009-10-19 16:47:11 UTC (rev 974)
+++ trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java 2009-10-19 20:11:12 UTC (rev 975)
@@ -228,7 +228,14 @@
// if there is a JOIN in progress, wait for this to complete.
// See ISPN-83 for more details. Once ISPN-83 is addressed, this may no longer be needed.
distributedSync.blockUntilNoJoinsInProgress();
-
+
+ //Use JGroups 2.8 feature Message.DONT_BUNDLE flag to override message bundling at the transport level
+ //for asynchronous calls
+ //See ISPN-192 for more details
+ if (mode != GroupRequest.GET_NONE) {
+ msg.setFlag(Message.DONT_BUNDLE);
+ }
+
RspList retval = castMessage(dests, msg, mode, timeout, anycasting, filter);
if (trace) log.trace("responses: {0}", retval);
@@ -254,6 +261,10 @@
}
if (replay && ignorers.size() > 0) {
+ //Since we are making a sync call make sure we don't bundle
+ //See ISPN-192 for more details
+ msg.setFlag(Message.DONT_BUNDLE);
+
if (trace)
log.trace("Replaying message to ignoring senders: " + ignorers);
RspList responses = castMessage(ignorers, msg, GroupRequest.GET_ALL, timeout, anycasting, filter);
Modified: trunk/core/src/test/resources/stacks/tcp.xml
===================================================================
--- trunk/core/src/test/resources/stacks/tcp.xml 2009-10-19 16:47:11 UTC (rev 974)
+++ trunk/core/src/test/resources/stacks/tcp.xml 2009-10-19 20:11:12 UTC (rev 975)
@@ -9,27 +9,27 @@
discard_incompatible_packets="true"
max_bundle_size="64000"
max_bundle_timeout="30"
- enable_bundling="false"
- use_send_queues="false"
+ enable_bundling="true"
+ use_send_queues="true"
sock_conn_timeout="300"
enable_diagnostics="false"
skip_suspected_members="true"
thread_pool.enabled="true"
- thread_pool.min_threads="1"
- thread_pool.max_threads="25"
+ thread_pool.min_threads="2"
+ thread_pool.max_threads="8"
thread_pool.keep_alive_time="5000"
thread_pool.queue_enabled="false"
thread_pool.queue_max_size="100"
- thread_pool.rejection_policy="run"
+ thread_pool.rejection_policy="Run"
oob_thread_pool.enabled="true"
- oob_thread_pool.min_threads="1"
+ oob_thread_pool.min_threads="2"
oob_thread_pool.max_threads="8"
oob_thread_pool.keep_alive_time="5000"
oob_thread_pool.queue_enabled="false"
oob_thread_pool.queue_max_size="100"
- oob_thread_pool.rejection_policy="run"/>
+ oob_thread_pool.rejection_policy="Run"/>
<TCPPING timeout="3000"
initial_hosts="localhost[7800],localhost[7801]}"
Modified: trunk/core/src/test/resources/stacks/udp.xml
===================================================================
--- trunk/core/src/test/resources/stacks/udp.xml 2009-10-19 16:47:11 UTC (rev 974)
+++ trunk/core/src/test/resources/stacks/udp.xml 2009-10-19 20:11:12 UTC (rev 975)
@@ -14,7 +14,7 @@
max_bundle_size="64000"
max_bundle_timeout="30"
ip_ttl="${jgroups.udp.ip_ttl:0}"
- enable_bundling="false"
+ enable_bundling="true"
enable_diagnostics="false"
thread_naming_pattern="pl"
@@ -28,7 +28,7 @@
thread_pool.rejection_policy="Run"
oob_thread_pool.enabled="true"
- oob_thread_pool.min_threads="1"
+ oob_thread_pool.min_threads="2"
oob_thread_pool.max_threads="8"
oob_thread_pool.keep_alive_time="5000"
oob_thread_pool.queue_enabled="false"
More information about the infinispan-commits
mailing list