[jboss-cvs] JBossAS SVN: r106143 - in branches/Branch_No_Multicast: cluster and 12 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jun 17 18:51:01 EDT 2010
Author: pferraro
Date: 2010-06-17 18:51:00 -0400 (Thu, 17 Jun 2010)
New Revision: 106143
Added:
branches/Branch_No_Multicast/cluster/src/installers/
branches/Branch_No_Multicast/cluster/src/installers/ec2/
branches/Branch_No_Multicast/cluster/src/installers/ec2/build.xml
branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/
branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/
branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-configs.xml
branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-manager-jboss-beans.xml
branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jgroups/
branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jgroups/jgroups-channelfactory-stacks.xml
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/build.xml
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/jboss-beans.xml
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/server.xml
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/mod_cluster/
branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/mod_cluster/mod-cluster-jboss-beans.xml
Removed:
branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-configs-ec.xml
branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans-ec.xml
branches/Branch_No_Multicast/cluster/src/resources/jgroups/jgroups-channelfactory-stacks-ec.xml
Modified:
branches/Branch_No_Multicast/build/build-distr.xml
branches/Branch_No_Multicast/build/build.xml
branches/Branch_No_Multicast/cluster/build.xml
Log:
Convert building of cluster-ec2 profile into 2 installers: extras/ec2 and extras/mod_cluster-ec2
Modified: branches/Branch_No_Multicast/build/build-distr.xml
===================================================================
--- branches/Branch_No_Multicast/build/build-distr.xml 2010-06-17 22:42:51 UTC (rev 106142)
+++ branches/Branch_No_Multicast/build/build-distr.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -1090,6 +1090,20 @@
</fileset>
</copy>
+ <!-- Create the ec2 and mod_cluster-ec2 installers -->
+ <mkdir dir="${install.root}/extras"/>
+ <copy todir="${install.root}/extras">
+ <fileset dir="${_module.output}/installers">
+ <include name="**"/>
+ </fileset>
+ </copy>
+ <!-- Copy configs from ec2 installer to mod_cluster-ec2 installer -->
+ <copy todir="${install.root}/extras/mod_cluster-ec2/resources">
+ <fileset dir="${_module.output}/installers/ec2/resources">
+ <include name="**"/>
+ </fileset>
+ </copy>
+
</target>
<target name="_module-cluster-all" depends="_module-cluster-most">
Modified: branches/Branch_No_Multicast/build/build.xml
===================================================================
--- branches/Branch_No_Multicast/build/build.xml 2010-06-17 22:42:51 UTC (rev 106142)
+++ branches/Branch_No_Multicast/build/build.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -322,13 +322,6 @@
<property name="install.standard.deployers" value="${install.standard}/deployers"/>
<property name="install.standard.conf" value="${install.standard}/conf"/>
- <property name="install.ec2" value="${install.server}/cluster-ec2"/>
- <property name="install.ec2.lib" value="${install.ec2}/lib"/>
- <property name="install.ec2.deploy" value="${install.ec2}/deploy"/>
- <property name="install.ec2.deployers" value="${install.ec2}/deployers"/>
- <property name="install.ec2.conf" value="${install.ec2}/conf"/>
- <property name="install.ec2.deploy.hasingleton" value="${install.ec2}/deploy-hasingleton"/>
-
<!-- libs shared by the server configurations -->
<property name="install.common" value="${install.root}/common"/>
<property name="install.common.lib" value="${install.common}/lib"/>
@@ -773,10 +766,6 @@
<antcall target="apply_auth_patch"/>
<antcall target="skipped_auth_patch"/>
<antcall target="apply_patch"/>
- <!-- Build cluster-ec2 last so it gets the benefit of the above patches
- TODO: maybe not ideal; better to build it and extend the patches to
- cover it? -->
- <antcall target="partition-ec2"/>
</target>
<target name="apply_auth_patch" unless="build.unsecure">
@@ -883,29 +872,6 @@
</target>
- <target name="partition-ec2" depends="init" unless="build.ewp">
-
- <!-- Build ec2 based on production -->
- <!-- Copy server/production to server/ec2 -->
- <copy todir="${install.ec2}">
- <fileset dir="${install.production}">
- <exclude name="deploy/cluster/jgroups-channelfactory.sar/META-INF/jgroups-channelfactory-stacks.xml"/>
- <exclude name="deploy/cluster/jboss-cache-manager.sar/**"/>
- </fileset>
- </copy>
-
- <!-- Add in the modified-for-ec2 content -->
- <copy file="${project.root}/cluster/src/resources/jgroups/jgroups-channelfactory-stacks-ec.xml"
- tofile="${install.ec2.deploy}/cluster/jgroups-channelfactory.sar/META-INF/jgroups-channelfactory-stacks.xml"/>
-
- <mkdir dir="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF"/>
- <copy file="${project.root}/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-configs-ec.xml"
- tofile="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF/jboss-cache-configs.xml"/>
- <copy file="${project.root}/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans-ec.xml"
- tofile="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans.xml"/>
-
- </target>
-
<!-- Partition the default single configuration build into a minimal,
default and all configs with a minimal set of jars in the root lib dir.
-->
Modified: branches/Branch_No_Multicast/cluster/build.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/build.xml 2010-06-17 22:42:51 UTC (rev 106142)
+++ branches/Branch_No_Multicast/cluster/build.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -119,6 +119,7 @@
<!-- Where source files live -->
<property name="source.java" value="${module.source}/main"/>
<property name="source.etc" value="${module.source}/etc"/>
+ <property name="source.installers" value="${module.source}/installer"/>
<property name="source.examples" value="${module.source}/examples"/>
<property name="source.resources" value="${module.source}/resources"/>
@@ -128,6 +129,7 @@
<property name="build.lib" value="${module.output}/lib"/>
<property name="build.api" value="${module.output}/api"/>
<property name="build.etc" value="${module.output}/etc"/>
+ <property name="build.installers" value="${module.output}/installer"/>
<property name="build.examples" value="${module.output}/examples"/>
<property name="build.reports" value="${module.output}/reports"/>
<property name="build.resources" value="${module.output}/resources"/>
@@ -201,7 +203,8 @@
description="Compile all source files."
depends="compile-classes,
compile-rmi,
-compile-etc"/>
+compile-etc,
+compile-installers"/>
<!-- Compile all class files -->
<target name="compile-classes" depends="init">
@@ -259,7 +262,17 @@
</copy>
</target>
+ <!-- Compile manifests -->
+ <target name="compile-installers" depends="init">
+ <mkdir dir="${build.installers}"/>
+ <copy todir="${build.installers}">
+ <fileset dir="${source.installers}">
+ <include name="**"/>
+ </fileset>
+ </copy>
+ </target>
+
<!-- ================================================================== -->
<!-- Archives -->
<!-- ================================================================== -->
Added: branches/Branch_No_Multicast/cluster/src/installers/ec2/build.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/ec2/build.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/ec2/build.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+<project default="install" name="EC2 Installer" basedir=".">
+
+ <property name="ec2.profile" value="cluster-ec2"/>
+ <property name="install.root" value="../../"/>
+
+ <property name="install.server" value="${install.root}/server"/>
+ <property name="install.production" value="${install.server}/production"/>
+ <property name="install.ec2" value="${install.server}/${ec2.profile}"/>
+ <property name="install.ec2.deploy" value="${install.ec2}/deploy"/>
+
+
+ <target name="install">
+
+ <!-- Build ec2 based on production -->
+ <!-- Copy server/production to server/ec2 -->
+ <copy todir="${install.ec2}">
+ <fileset dir="${install.production}">
+ <exclude name="deploy/cluster/jgroups-channelfactory.sar/META-INF/jgroups-channelfactory-stacks.xml"/>
+ <exclude name="deploy/cluster/jboss-cache-manager.sar/**"/>
+ </fileset>
+ </copy>
+
+ <!-- Add in the modified-for-ec2 content -->
+ <copy file="${basedir}/resources/jgroups/jgroups-channelfactory-stacks.xml"
+ todir="${install.ec2.deploy}/cluster/jgroups-channelfactory.sar/META-INF/"/>
+
+ <mkdir dir="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF"/>
+ <copy file="${basedir}/resources/jboss-cache/jboss-cache-configs.xml"
+ todir="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF/"/>
+ <copy file="${basedir}/resources/jboss-cache/jboss-cache-manager-jboss-beans.xml"
+ todir="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF/"/>
+
+ </target>
+
+</project>
\ No newline at end of file
Added: branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-configs.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-configs.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-configs.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<registry:cache-configs xmlns="urn:jboss:jbosscache-core:config:3.0"
+ xmlns:registry="urn:jboss:jbosscache-core:cache-repo:3.0">
+
+ <!--
+ JBoss Cache configurations using the standard JBC 3.x config format
+ can be added to this file, and will usable by the AS's CacheManager
+ if the "configResource" property in the jboss-cache-manager-jboss-beans.xml
+ file's "CacheConfigurationRegistry" bean is uncommented. (It is
+ commented out by default.)
+ However, use of the microcontainer config format used in this
+ sar's jboss-cache-manager-jboss-beans.xml file is recommended.
+ -->
+
+ <!-- An example config; not intended for use; just to illustrate JBC 3's
+ config format and to comply with schema requirement for a cache-config
+ element. Removing this example is recommended if a real config is added.
+ -->
+ <registry:cache-config name="example">
+
+ <locking isolationLevel="REPEATABLE_READ" lockAcquisitionTimeout="15000" nodeLockingScheme="pessimistic"/>
+ <serialization useRegionBasedMarshalling="true"/>
+ <startup regionsInactiveOnStartup="true"/>
+ <clustering clusterName="${jboss.partition.name:DefaultPartition}-example" mode="r">
+ <stateRetrieval fetchInMemoryState="true" timeout="60000"/>
+ <jgroupsConfig multiplexerStack="${jboss.default.jgroups.stack:tcp}"/>
+ <sync replTimeout="175000"/>
+ </clustering>
+ <eviction wakeUpInterval="5000">
+ <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm">
+ <property name="maxNodes" value="5000" />
+ <property name="timeToLive" value="1000" />
+ </default>
+ </eviction>
+ </registry:cache-config>
+
+
+</registry:cache-configs>
Property changes on: branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-configs.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Added: branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-manager-jboss-beans.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-manager-jboss-beans.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-manager-jboss-beans.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,1494 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- Factory/registry for JBoss Cache and PojoCache instances used in the AS -->
+ <bean name="CacheManager" class="org.jboss.ha.cachemanager.CacheManager">
+
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=CacheManager", exposedInterface=org.jboss.ha.cachemanager.CacheManagerMBean.class, registerDirectly=true)</annotation>
+
+ <!-- This doesn't seem to work, so the service binds itself for now
+ <annotation>@org.jboss.aop.microcontainer.aspects.jndi.JndiBinding(name="java:CacheManager")</annotation>
+ -->
+ <property name="jndiName">java:CacheManager</property>
+
+ <property name="configurationRegistry"><inject bean="CacheConfigurationRegistry"/></property>
+ <property name="channelFactory"><inject bean="JChannelFactory"/></property>
+
+ <!-- Aliases for cache names. Allows caches to be shared across
+ services that may expect different cache config names. -->
+ <property name="configAliases">
+ <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <!-- Use the HAPartition cache for ClusteredSSO caching -->
+ <entry>
+ <key>clustered-sso</key>
+ <value>ha-partition</value>
+ </entry>
+ <!-- Handle the legacy name for the EJB3 SFSB cache -->
+ <entry>
+ <key>jboss.cache:service=EJB3SFSBClusteredCache</key>
+ <value>sfsb-cache</value>
+ </entry>
+ <!-- Handle the legacy name for the EJB3 Entity cache -->
+ <entry>
+ <key>jboss.cache:service=EJB3EntityTreeCache</key>
+ <value>mvcc-shared</value>
+ </entry>
+ </map>
+ </property>
+
+ <!-- Start these caches as part of the start of this CacheManager
+ <property name="eagerStartCaches">
+ <set>
+ <value>ha-partition</value>
+ </set>
+ </property>
+ -->
+
+ </bean>
+
+ <!--
+ | Registry of named JBoss Cache configurations. Users of the CacheManager
+ | request a cache with a particular configuration by providing the name
+ | of one of these configurations.
+ -->
+ <bean name="CacheConfigurationRegistry" class="org.jboss.ha.cachemanager.DependencyInjectedConfigurationRegistry">
+
+ <!-- If users wish to add configs using a more familiar JBC config format
+ they can add them to a cache-configs.xml file specified by this property.
+ However, use of the microcontainer format used below is recommended.
+ <property name="configResource">META-INF/jboss-cache-configs.xml</property>
+ -->
+
+ <!-- The configurations. A Map<String name, Configuration config> -->
+ <property name="newConfigurations">
+ <map keyClass="java.lang.String" valueClass="org.jboss.cache.config.Configuration">
+
+ <!-- The standard configurations follow. You can add your own and/or edit these. -->
+
+ <!-- Standard cache used for web sessions -->
+ <entry><key>standard-session-cache</key>
+ <value>
+ <bean name="StandardSessionCacheConfig" class="org.jboss.cache.config.Configuration">
+
+ <!-- Provides batching functionality for caches that don't want to interact with regular JTA Transactions -->
+ <property name="transactionManagerLookupClass">org.jboss.cache.transaction.BatchModeTransactionManagerLookup</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-SessionCache</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because we are using asynchronous replication. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <property name="fetchInMemoryState">true</property>
+
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <property name="isolationLevel">REPEATABLE_READ</property>
+ <property name="useLockStriping">false</property>
+ <property name="cacheMode">REPL_ASYNC</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. Make this longer
+ than lockAcquisitionTimeout.-->
+ <property name="syncReplTimeout">17500</property>
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Not needed for a web session cache that doesn't use FIELD -->
+ <property name="useRegionBasedMarshalling">false</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">false</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="exposeManagementStatistics">true</property>
+
+ <property name="buddyReplicationConfig">
+ <bean class="org.jboss.cache.config.BuddyReplicationConfig">
+
+ <!-- Just set to true to turn on buddy replication -->
+ <property name="enabled">false</property>
+
+ <!-- A way to specify a preferred replication group. We try
+ and pick a buddy who shares the same pool name (falling
+ back to other buddies if not available). -->
+ <property name="buddyPoolName">default</property>
+
+ <property name="buddyCommunicationTimeout">17500</property>
+
+ <!-- Do not change these -->
+ <property name="autoDataGravitation">false</property>
+ <property name="dataGravitationRemoveOnFind">true</property>
+ <property name="dataGravitationSearchBackupTrees">true</property>
+
+ <property name="buddyLocatorConfig">
+ <bean class="org.jboss.cache.buddyreplication.NextMemberBuddyLocatorConfig">
+ <!-- The number of backup copies we maintain -->
+ <property name="numBuddies">1</property>
+ <!-- Means that each node will *try* to select a buddy on
+ a different physical host. If not able to do so
+ though, it will fall back to colocated nodes. -->
+ <property name="ignoreColocatedBuddies">true</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="cacheLoaderConfig">
+ <bean class="org.jboss.cache.config.CacheLoaderConfig">
+ <!-- Do not change these -->
+ <property name="passivation">true</property>
+ <property name="shared">false</property>
+
+ <property name="individualCacheLoaderConfigs">
+ <list>
+ <bean class="org.jboss.cache.loader.FileCacheLoaderConfig">
+ <!-- Where passivated sessions are stored -->
+ <property name="location">${jboss.server.data.dir}${/}session</property>
+ <!-- Do not change these -->
+ <property name="async">false</property>
+ <property name="fetchPersistentState">true</property>
+ <property name="purgeOnStartup">true</property>
+ <property name="ignoreModifications">false</property>
+ <property name="checkCharacterPortability">false</property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- Appropriate for web sessions with FIELD granularity -->
+ <entry><key>field-granularity-session-cache</key>
+ <value>
+
+ <bean name="FieldSessionCacheConfig" class="org.jboss.cache.config.Configuration">
+
+ <!-- Provides batching functionality for caches that don't want to interact with regular JTA Transactions -->
+ <property name="transactionManagerLookupClass">org.jboss.cache.transaction.BatchModeTransactionManagerLookup</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-FieldSessionCache</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because we are using asynchronous replication. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <property name="fetchInMemoryState">true</property>
+
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <property name="isolationLevel">REPEATABLE_READ</property>
+ <property name="useLockStriping">false</property>
+ <property name="cacheMode">REPL_ASYNC</property>
+
+ <property name="syncReplTimeout">17500</property>
+ <property name="lockAcquisitionTimeout">15000</property>
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Field granularity requires region-based marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="exposeManagementStatistics">true</property>
+
+ <property name="buddyReplicationConfig">
+ <bean class="org.jboss.cache.config.BuddyReplicationConfig">
+
+ <!-- Just set to true to turn on buddy replication -->
+ <property name="enabled">false</property>
+ <!-- A way to specify a preferred replication group. We try
+ and pick a buddy who shares the same pool name (falling
+ back to other buddies if not available). -->
+ <property name="buddyPoolName">default</property>
+ <property name="buddyCommunicationTimeout">17500</property>
+
+ <!-- Do not change these -->
+ <property name="autoDataGravitation">false</property>
+ <property name="dataGravitationRemoveOnFind">true</property>
+ <property name="dataGravitationSearchBackupTrees">true</property>
+
+ <property name="buddyLocatorConfig">
+ <bean class="org.jboss.cache.buddyreplication.NextMemberBuddyLocatorConfig">
+ <!-- The number of backup nodes we maintain -->
+ <property name="numBuddies">1</property>
+ <!-- Means that each node will *try* to select a buddy on
+ a different physical host. If not able to do so
+ though, it will fall back to colocated nodes. -->
+ <property name="ignoreColocatedBuddies">true</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="cacheLoaderConfig">
+ <bean class="org.jboss.cache.config.CacheLoaderConfig">
+ <!-- Do not change these -->
+ <property name="passivation">true</property>
+ <property name="shared">false</property>
+
+ <property name="individualCacheLoaderConfigs">
+ <list>
+ <bean class="org.jboss.cache.loader.FileCacheLoaderConfig">
+ <!-- Where passivated sessions are stored -->
+ <property name="location">${jboss.server.data.dir}${/}field-session</property>
+ <!-- Do not change these -->
+ <property name="async">false</property>
+ <property name="fetchPersistentState">true</property>
+ <property name="purgeOnStartup">true</property>
+ <property name="ignoreModifications">false</property>
+ <property name="checkCharacterPortability">false</property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+
+ </bean>
+ </value>
+ </entry>
+
+ <!-- Standard cache used for EJB3 SFSB caching -->
+ <entry><key>sfsb-cache</key>
+ <value>
+ <bean name="StandardSFSBCacheConfig" class="org.jboss.cache.config.Configuration">
+
+ <!-- No transaction manager lookup -->
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-SFSBCache</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because we are using asynchronous replication. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <property name="fetchInMemoryState">true</property>
+
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <property name="isolationLevel">REPEATABLE_READ</property>
+ <property name="useLockStriping">false</property>
+ <property name="cacheMode">REPL_ASYNC</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. Make this longer
+ than lockAcquisitionTimeout.-->
+ <property name="syncReplTimeout">17500</property>
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!--
+ SFSBs use region-based marshalling to provide for partial state
+ transfer during deployment/undeployment.
+ -->
+ <property name="useRegionBasedMarshalling">false</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">false</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="exposeManagementStatistics">true</property>
+
+ <property name="buddyReplicationConfig">
+ <bean class="org.jboss.cache.config.BuddyReplicationConfig">
+
+ <!-- Just set to true to turn on buddy replication -->
+ <property name="enabled">false</property>
+
+ <!-- A way to specify a preferred replication group. We try
+ and pick a buddy who shares the same pool name (falling
+ back to other buddies if not available). -->
+ <property name="buddyPoolName">default</property>
+
+ <property name="buddyCommunicationTimeout">17500</property>
+
+ <!-- Do not change these -->
+ <property name="autoDataGravitation">false</property>
+ <property name="dataGravitationRemoveOnFind">true</property>
+ <property name="dataGravitationSearchBackupTrees">true</property>
+
+ <property name="buddyLocatorConfig">
+ <bean class="org.jboss.cache.buddyreplication.NextMemberBuddyLocatorConfig">
+ <!-- The number of backup nodes we maintain -->
+ <property name="numBuddies">1</property>
+ <!-- Means that each node will *try* to select a buddy on
+ a different physical host. If not able to do so
+ though, it will fall back to colocated nodes. -->
+ <property name="ignoreColocatedBuddies">true</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="cacheLoaderConfig">
+ <bean class="org.jboss.cache.config.CacheLoaderConfig">
+ <!-- Do not change these -->
+ <property name="passivation">true</property>
+ <property name="shared">false</property>
+
+ <property name="individualCacheLoaderConfigs">
+ <list>
+ <bean class="org.jboss.cache.loader.FileCacheLoaderConfig">
+ <!-- Where passivated sessions are stored -->
+ <property name="location">${jboss.server.data.dir}${/}sfsb</property>
+ <!-- Do not change these -->
+ <property name="async">false</property>
+ <property name="fetchPersistentState">true</property>
+ <property name="purgeOnStartup">true</property>
+ <property name="ignoreModifications">false</property>
+ <property name="checkCharacterPortability">false</property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+
+ <!-- EJBs use JBoss Cache eviction -->
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </property>
+ <!-- EJB3 integration code will programatically create
+ other regions as beans are deployed -->
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!--
+ Appropriate for the HAPartition-based services, e.g. DistributedState,
+ HA-JNDI. Also valid for use by the JBossWeb ClusteredSingleSignOn valve.
+ -->
+ <entry><key>ha-partition</key>
+ <value>
+
+ <bean name="HAPartitionCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Provides batching functionality for caches that don't want to interact with regular JTA Transactions -->
+ <property name="transactionManagerLookupClass">org.jboss.cache.transaction.BatchModeTransactionManagerLookup</property>
+
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-HAPartitionCache</property>
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <property name="fetchInMemoryState">true</property>
+
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <property name="isolationLevel">REPEATABLE_READ</property>
+ <property name="useLockStriping">false</property>
+ <property name="cacheModeString">REPL_SYNC</property>
+
+ <property name="syncReplTimeout">17500</property>
+ <property name="lockAcquisitionTimeout">15000</property>
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <property name="useRegionBasedMarshalling">false</property>
+ <property name="inactiveOnStartup">false</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="exposeManagementStatistics">true</property>
+ </bean>
+ </value>
+ </entry>
+
+ <!--
+ Following are JBoss Cache configurations suitable for different
+ Hibernate 2nd Level Cache uses (e.g. entities vs. queries).
+
+ In all cases, TransactionManager configuration not required.
+ Hibernate will plug in its own transaction manager integration.
+ -->
+
+ <!-- A config appropriate for entity/collection caching that uses MVCC locking -->
+ <entry><key>mvcc-entity</key>
+ <value>
+ <bean name="MVCCEntityCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">MVCC</property>
+ <!-- READ_COMMITTED is as strong as necessary for most
+ 2nd Level Cache use cases. -->
+ <property name="isolationLevel">READ_COMMITTED</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Mode of communication with peer caches.
+ INVALIDATION_SYNC is highly recommended as the mode for use
+ with entity and collection caches. -->
+ <property name="cacheMode">INVALIDATION_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-entity</property>
+ <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
+ slightly better (no JGroups FC) but we stick with udp to
+ help ensure this cache and others like timestamps-cache
+ that require FC can use the same underlying JGroups resources. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Whether or not to fetch state on joining a cluster. -->
+ <property name="fetchInMemoryState">false</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- A config appropriate for entity/collection caching that uses optimistic locking. -->
+ <entry><key>optimistic-entity</key>
+ <value>
+ <bean name="OptimisticEntityCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">OPTIMISTIC</property>
+
+ <!-- Mode of communication with peer caches.
+ INVALIDATION_SYNC is highly recommended as the mode for use
+ with entity and collection caches. -->
+ <property name="cacheMode">INVALIDATION_SYNC</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-opt-entity</property>
+ <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
+ slightly better (no JGroups FC) but we stick with udp to
+ help ensure this cache and others like timestamps-cache
+ that require FC can use the same underlying JGroups resources. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Whether or not to fetch state on joining a cluster. -->
+ <property name="fetchInMemoryState">false</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- A config appropriate for entity/collection caching that uses pessimistic locking -->
+ <entry><key>pessimistic-entity</key>
+ <value>
+ <bean name="PessimisticEntityCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <!-- READ_COMMITTED is as strong as necessary for most
+ 2nd Level Cache use cases. -->
+ <property name="isolationLevel">READ_COMMITTED</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Mode of communication with peer caches.
+ INVALIDATION_SYNC is highly recommended as the mode for use
+ with entity and collection caches. -->
+ <property name="cacheMode">INVALIDATION_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-entity</property>
+ <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
+ slightly better (no JGroups FC) but we stick with udp to
+ help ensure this cache and others like timestamps-cache
+ that require FC can use the same underlying JGroups resources. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Whether or not to fetch state on joining a cluster. -->
+ <property name="fetchInMemoryState">false</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- Same as "mvcc-entity" but here we use REPEATABLE_READ
+ instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
+ application evicts/clears entities from the Hibernate Session and
+ then expects to repeatably re-read them in the same transaction.
+ Otherwise, the Session's internal cache provides a repeatable-read
+ semantic. Before choosing this config, carefully read the docs
+ and make sure you really need REPEATABLE_READ. -->
+ <entry><key>mvcc-entity-repeatable</key>
+ <value>
+ <bean name="MVCCEntityRepeatableCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">MVCC</property>
+ <!-- Here we use REPEATABLE_READ. -->
+ <property name="isolationLevel">READ_COMMITTED</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Mode of communication with peer caches.
+ INVALIDATION_SYNC is highly recommended as the mode for use
+ with entity and collection caches. -->
+ <property name="cacheMode">INVALIDATION_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-entity-rr</property>
+ <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
+ slightly better (no JGroups FC) but we stick with udp to
+ help ensure this cache and others like timestamps-cache
+ that require FC can use the same underlying JGroups resources. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Whether or not to fetch state on joining a cluster. -->
+ <property name="fetchInMemoryState">false</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- Same as "pessimistic-entity" but here we use REPEATABLE_READ
+ instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
+ application evicts/clears entities from the Hibernate Session and
+ then expects to repeatably re-read them in the same transaction.
+ Otherwise, the Session's internal cache provides a repeatable-read
+ semantic. Before choosing this config, carefully read the docs
+ and make sure you really need REPEATABLE_READ.
+ -->
+ <entry><key>pessimistic-entity-repeatable</key>
+ <value>
+ <bean name="PessimisticEntityRepeatableCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <property name="isolationLevel">REPEATABLE_READ</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Mode of communication with peer caches.
+ INVALIDATION_SYNC is highly recommended as the mode for use
+ with entity and collection caches. -->
+ <property name="cacheMode">INVALIDATION_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-entity-rr</property>
+ <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
+ slightly better (no JGroups FC) but we stick with udp to
+ help ensure this cache and others like timestamps-cache
+ that require FC can use the same underlying JGroups resources. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Whether or not to fetch state on joining a cluster. -->
+ <property name="fetchInMemoryState">false</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- A config appropriate for query caching. Does not replicate
+ queries. DO NOT STORE TIMESTAMPS IN THIS CACHE. -->
+ <entry><key>local-query</key>
+ <value>
+ <bean name="LocalQueryCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">OPTIMISTIC</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- LOCAL means don't communicate with other caches. -->
+ <property name="cacheMode">LOCAL</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- A query cache that replicates querie results. Replication is asynchronous.
+ DO NOT STORE TIMESTAMPS IN THIS CACHE as no initial state transfer
+ is performed. -->
+ <entry><key>replicated-query</key>
+ <value>
+ <bean name="ReplicatedQueryCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">OPTIMISTIC</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Mode of communication with peer caches.
+ REPL_ASYNC means replicate but sender does not block waiting for
+ peers to acknowledge applying the change. Valid for queries as
+ the timestamp cache mechanism will allow Hibernate to discard
+ out-of-date queries. -->
+ <property name="cacheMode">REPL_ASYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-query</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because timestamp communication will not require a synchronous response. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Whether or not to fetch state on joining a cluster. -->
+ <property name="fetchInMemoryState">false</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- Optimized for timestamp caching. A clustered timestamp cache
+ is required if query caching is used, even if the query cache
+ itself is configured with CacheMode=LOCAL.
+ -->
+ <entry><key>timestamps-cache</key>
+ <value>
+ <bean name="TimestampsCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">MVCC</property>
+ <!-- READ_COMMITTED is as strong as necessary -->
+ <property name="isolationLevel">READ_COMMITTED</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Cannot be INVALIDATION. ASYNC for improved performance. -->
+ <property name="cacheMode">REPL_ASYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-timestamps</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because timestamp communication will not require a synchronous response. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Used for timestamps, so must fetch state. -->
+ <property name="fetchInMemoryState">true</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <!-- We should never evict timestamps, so eviction is disabled -->
+
+ </bean>
+ </value>
+ </entry>
+
+ <!-- A config appropriate for a cache that's shared for
+ entity, collection, query and timestamp caching. Not an advised
+ configuration, since it requires cache mode REPL_SYNC, which is the
+ least efficient mode. Also requires a full state transfer at startup,
+ which can be expensive. Uses mvcc locking. -->
+ <entry><key>mvcc-shared</key>
+ <value>
+ <bean name="MVCCSharedCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">MVCC</property>
+ <!-- READ_COMMITTED is as strong as necessary for most
+ 2nd Level Cache use cases. -->
+ <property name="isolationLevel">READ_COMMITTED</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Must use REPL since used for timestamp caching.
+ Must use SYNC to maintain cache coherency for entities. -->
+ <property name="cacheMode">REPL_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-shared</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because timestamp communication will not require a synchronous response. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Used for timestamps, so must fetch state. -->
+ <property name="fetchInMemoryState">true</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- A config appropriate for a cache that's shared for
+ entity, collection, query and timestamp caching. Not an advised
+ configuration, since it requires cache mode REPL_SYNC, which is the
+ least efficient mode. Also requires a full state transfer at startup,
+ which can be expensive. Uses optimistic locking -->
+ <entry><key>optimistic-shared</key>
+ <value>
+ <bean name="OptimisticSharedCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">OPTIMISTIC</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Must use REPL since used for timestamp caching.
+ Must use SYNC to maintain cache coherency for entities. -->
+ <property name="cacheMode">REPL_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-opt-shared</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because timestamp communication will not require a synchronous response. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Used for timestamps, so must fetch state. -->
+ <property name="fetchInMemoryState">true</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- A config appropriate for a cache that's shared for
+ entity, collection, query and timestamp caching. Not an advised
+ configuration, since it requires cache mode REPL_SYNC, which is the
+ least efficient mode. Also requires a full state transfer at startup,
+ which can be expensive. Uses pessmistic locking. -->
+ <entry><key>pessimistic-shared</key>
+ <value>
+ <bean name="PessimisticSharedCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <!-- READ_COMMITTED is as strong as necessary for most
+ 2nd Level Cache use cases. -->
+ <property name="isolationLevel">READ_COMMITTED</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Must use REPL since used for timestamp caching.
+ Must use SYNC to maintain cache coherency for entities. -->
+ <property name="cacheMode">REPL_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-shared</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because timestamp communication will not require a synchronous response. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Used for timestamps, so must fetch state. -->
+ <property name="fetchInMemoryState">true</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- Same as "mvcc-shared" but here we use REPEATABLE_READ
+ instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
+ application evicts/clears entities from the Hibernate Session and
+ then expects to repeatably re-read them in the same transaction.
+ Otherwise, the Session's internal cache provides a repeatable-read
+ semantic. Before choosing this config, carefully read the docs
+ and make sure you really need REPEATABLE_READ. -->
+ <entry><key>mvcc-shared-repeatable</key>
+ <value>
+ <bean name="MVCCSharedRepeatableCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">MVCC</property>
+ <!-- READ_COMMITTED is as strong as necessary for most
+ 2nd Level Cache use cases. -->
+ <property name="isolationLevel">REPEATABLE_READ</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Must use REPL since used for timestamp caching.
+ Must use SYNC to maintain cache coherency for entities. -->
+ <property name="cacheMode">REPL_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-shared-rr</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because timestamp communication will not require a synchronous response. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Used for timestamps, so must fetch state. -->
+ <property name="fetchInMemoryState">true</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ <!-- Same as "pessimistic-shared" but here we use REPEATABLE_READ
+ instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
+ application evicts/clears entities from the Hibernate Session and
+ then expects to repeatably re-read them in the same transaction.
+ Otherwise, the Session's internal cache provides a repeatable-read
+ semantic. Before choosing this config, carefully read the docs
+ and make sure you really need REPEATABLE_READ. -->
+ <entry><key>pessimistic-shared-repeatable</key>
+ <value>
+ <bean name="PessimisticSharedRepeatableCache" class="org.jboss.cache.config.Configuration">
+
+ <!-- Node locking scheme -->
+ <property name="nodeLockingScheme">PESSIMISTIC</property>
+ <property name="isolationLevel">REPEATABLE_READ</property>
+ <property name="useLockStriping">false</property>
+
+ <!-- Must use REPL since used for timestamp caching.
+ Must use SYNC to maintain cache coherency for entities. -->
+ <property name="cacheMode">REPL_SYNC</property>
+
+ <!-- Name of cluster. Needs to be the same for all members -->
+ <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-shared-rr</property>
+ <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
+ because timestamp communication will not require a synchronous response. -->
+ <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
+ <!-- Used for timestamps, so must fetch state. -->
+ <property name="fetchInMemoryState">true</property>
+
+ <!-- The max amount of time (in milliseconds) we wait until the
+ state (ie. the contents of the cache) are retrieved from
+ existing members at startup. Ignored if FetchInMemoryState=false. -->
+ <property name="stateRetrievalTimeout">60000</property>
+
+ <!-- Number of milliseconds to wait until all responses for a
+ synchronous call have been received. -->
+ <property name="syncReplTimeout">17500</property>
+
+ <!-- Max number of milliseconds to wait for a lock acquisition -->
+ <property name="lockAcquisitionTimeout">15000</property>
+
+ <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
+ <property name="useRegionBasedMarshalling">true</property>
+ <!-- Must match the value of "useRegionBasedMarshalling" -->
+ <property name="inactiveOnStartup">true</property>
+
+ <!-- Disable asynchronous RPC marshalling/sending -->
+ <property name="serializationExecutorPoolSize">0</property>
+ <!-- We have no asynchronous notification listeners -->
+ <property name="listenerAsyncPoolSize">0</property>
+
+ <property name="evictionConfig">
+ <bean class="org.jboss.cache.config.EvictionConfig">
+ <property name="wakeupInterval">5000</property>
+ <!-- Overall default -->
+ <property name="defaultEvictionRegionConfig">
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
+ <!-- Evict LRU node once we have more than this number of nodes -->
+ <property name="maxNodes">10000</property>
+ <!-- And, evict any node that hasn't been accessed in this many seconds -->
+ <property name="timeToLiveSeconds">1000</property>
+ <!-- Don't evict a node that's been accessed within this many seconds.
+ Set this to a value greater than your max expected transaction length. -->
+ <property name="minTimeToLiveSeconds">120</property>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ <property name="evictionRegionConfigs">
+ <list>
+ <!-- Don't ever evict modification timestamps -->
+ <bean class="org.jboss.cache.config.EvictionRegionConfig">
+ <property name="regionName">/TS</property>
+ <property name="evictionAlgorithmConfig">
+ <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
+ </property>
+ </bean>
+ </list>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ </value>
+ </entry>
+
+ </map>
+ </property>
+ </bean>
+
+</deployment>
\ No newline at end of file
Property changes on: branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jboss-cache/jboss-cache-manager-jboss-beans.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Added: branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jgroups/jgroups-channelfactory-stacks.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jgroups/jgroups-channelfactory-stacks.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jgroups/jgroups-channelfactory-stacks.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE protocol_stacks [
+ <!ENTITY shared-tcp '
+ <!-- TCP transport config meant to be shared between different channels
+ with different requirements. Message bundling is disabled in this
+ general-purpose config as it can add latency to synchronous RPCs. -->
+
+ <TCP
+ singleton_name="tcp"
+ start_port="${jboss.jgroups.tcp.tcp_port:7600}"
+ tcp_nodelay="true"
+ loopback="true"
+ recv_buf_size="20000000"
+ send_buf_size="640000"
+ discard_incompatible_packets="true"
+ max_bundle_size="64000"
+ max_bundle_timeout="30"
+ use_incoming_packet_handler="true"
+ enable_bundling="false"
+ use_send_queues="false"
+ sock_conn_timeout="300"
+ skip_suspected_members="true"
+ timer.num_threads="12"
+ enable_diagnostics="${jboss.jgroups.enable_diagnostics:true}"
+ diagnostics_addr="${jboss.jgroups.diagnostics_addr:224.0.75.75}"
+ diagnostics_port="${jboss.jgroups.diagnostics_port:7500}"
+
+ thread_pool.enabled="true"
+ thread_pool.min_threads="20"
+ thread_pool.max_threads="200"
+ thread_pool.keep_alive_time="5000"
+ thread_pool.queue_enabled="true"
+ thread_pool.queue_max_size="1000"
+ thread_pool.rejection_policy="discard"
+
+ oob_thread_pool.enabled="true"
+ oob_thread_pool.min_threads="20"
+ oob_thread_pool.max_threads="200"
+ oob_thread_pool.keep_alive_time="1000"
+ oob_thread_pool.queue_enabled="false"
+ oob_thread_pool.rejection_policy="discard"/>
+ '>
+]>
+
+
+<!--
+ Standard JGroups protocol stacks definitions, used by the JChannelFactory bean.
+
+ Author: Bela Ban, Brian Stansberry
+ Version: $Id:jgroups-channelfactory-stacks.xml 71313 2008-03-26 19:46:59Z bstansberry at jboss.com $
+-->
+<protocol_stacks>
+
+ <stack name="tcp"
+ description="TCP based stack, with flow control and message bundling.
+ TCP stacks are usually used when IP multicasting cannot
+ be used in a network, e.g. because it is disabled (e.g.
+ routers discard multicast)">
+ <config>
+ &shared-tcp;
+ <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
+ <MERGE2 max_interval="100000" min_interval="20000"/>
+ <FD_SOCK start_port="${jboss.jgroups.tcp.fd_sock_port:57600}"/>
+ <FD timeout="6000" max_tries="5" shun="true"/>
+ <VERIFY_SUSPECT timeout="1500"/>
+ <BARRIER/>
+ <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+ retransmit_timeout="300,600,1200,2400,4800"
+ discard_delivered_msgs="true"/>
+ <UNICAST timeout="300,600,1200,2400,3600"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+ max_bytes="400000"/>
+ <VIEW_SYNC avg_send_interval="10000"/>
+ <pbcast.GMS print_local_addr="true" join_timeout="3000"
+ shun="true"
+ view_bundling="true"
+ view_ack_collection_timeout="5000"
+ resume_task_timeout="7500"/>
+ <FC max_credits="2000000" min_threshold="0.10"
+ ignore_synchronous_response="true"/>
+ <FRAG2 frag_size="60000"/>
+ <!-- pbcast.STREAMING_STATE_TRANSFER/ -->
+ <pbcast.STATE_TRANSFER/>
+ <pbcast.FLUSH timeout="0" start_flush_timeout="10000"/>
+ </config>
+ </stack>
+
+
+ <stack name="tcp-sync"
+ description="TCP based stack, without flow control and without
+ message bundling. TCP stacks are usually used when IP
+ multicasting cannot be used in a network (e.g.routers
+ discard multicast). This configuration should be used
+ instead of 'tcp' above when (1) synchronous calls are
+ used and (2) the message volume (rate and size) is not
+ that large.">
+ <config>
+ <TCP
+ singleton_name="tcp_sync"
+ start_port="${jboss.jgroups.tcp_sync.tcp_port:7650}"
+ tcp_nodelay="true"
+ loopback="true"
+ recv_buf_size="20000000"
+ send_buf_size="640000"
+ discard_incompatible_packets="true"
+ enable_bundling="false"
+ use_send_queues="false"
+ sock_conn_timeout="300"
+ skip_suspected_members="true"
+ enable_diagnostics="${jboss.jgroups.enable_diagnostics:true}"
+ diagnostics_addr="${jboss.jgroups.diagnostics_addr:224.0.75.75}"
+ diagnostics_port="${jboss.jgroups.diagnostics_port:7500}"
+
+ thread_pool.enabled="true"
+ thread_pool.min_threads="8"
+ thread_pool.max_threads="200"
+ thread_pool.keep_alive_time="5000"
+ thread_pool.queue_enabled="true"
+ thread_pool.queue_max_size="1000"
+ thread_pool.rejection_policy="discard"
+
+ oob_thread_pool.enabled="true"
+ oob_thread_pool.min_threads="20"
+ oob_thread_pool.max_threads="200"
+ oob_thread_pool.keep_alive_time="1000"
+ oob_thread_pool.queue_enabled="false"
+ oob_thread_pool.rejection_policy="discard"/>
+ <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
+ <MERGE2 max_interval="100000" min_interval="20000"/>
+ <FD_SOCK start_port="${jboss.jgroups.tcp_sync.fd_sock_port:57650}"/>
+ <FD timeout="6000" max_tries="5" shun="true"/>
+ <VERIFY_SUSPECT timeout="1500"/>
+ <BARRIER/>
+ <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+ retransmit_timeout="300,600,1200,2400,4800"
+ discard_delivered_msgs="true"/>
+ <UNICAST timeout="300,600,1200,2400,3600"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+ max_bytes="400000"/>
+ <VIEW_SYNC avg_send_interval="10000"/>
+ <pbcast.GMS print_local_addr="true" join_timeout="3000"
+ shun="true"
+ view_bundling="true"
+ view_ack_collection_timeout="5000"
+ resume_task_timeout="7500"/>
+ <!-- pbcast.STREAMING_STATE_TRANSFER/ -->
+ <pbcast.STATE_TRANSFER/>
+ <pbcast.FLUSH timeout="0" start_flush_timeout="10000"/>
+ </config>
+ </stack>
+
+ <stack name="jbm-control"
+ description="Stack optimized for the JBoss Messaging Control Channel">
+ <config>
+ <!-- By default we use the same TCP transport protocol config as is
+ used for the default 'tcp' stack defined above. This allows
+ the JBoss Messaging Control Channel to use the same sockets,
+ network buffers and thread pools as are used by the other
+ standard JBoss AS clustered services.
+
+ The TCP config is included via an XML entity to ensure that
+ it remains consistent between this stack and the 'tcp'
+ stack above.
+ -->
+ &shared-tcp;
+ <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
+ <MERGE2 max_interval="100000"
+ min_interval="20000"/>
+ <FD_SOCK start_port="${jboss.jgroups.jbm_control.fd_sock_port:53200}"/>
+ <FD timeout="6000" max_tries="5" shun="true"/>
+ <VERIFY_SUSPECT timeout="1500" />
+ <BARRIER />
+ <pbcast.NAKACK use_stats_for_retransmission="false"
+ exponential_backoff="150"
+ use_mcast_xmit="true" gc_lag="0"
+ retransmit_timeout="50,300,600,1200"
+ discard_delivered_msgs="true"/>
+ <UNICAST timeout="300,600,1200,2400,3600"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+ max_bytes="400000"/>
+ <VIEW_SYNC avg_send_interval="10000"/>
+ <pbcast.GMS print_local_addr="true" join_timeout="3000"
+ shun="true"
+ view_bundling="true"/>
+ <FC max_credits="500000" min_threshold="0.20"
+ ignore_synchronous_response="true"/>
+ <FRAG2 frag_size="60000" />
+ <pbcast.STATE_TRANSFER/>
+ <pbcast.FLUSH timeout="20000" start_flush_timeout="10000"/>
+ </config>
+ </stack>
+
+
+ <stack name="jbm-data"
+ description="Stack optimized for the JBoss Messaging Data Channel">
+ <config>
+ <TCP singleton_name="jbm-data"
+ start_port="${jboss.messaging.datachanneltcpport,jboss.jgroups.jbm_data.tcp_port:7900}"
+ loopback="true"
+ recv_buf_size="20000000"
+ send_buf_size="640000"
+ discard_incompatible_packets="true"
+ enable_bundling="false"
+ use_send_queues="false"
+ sock_conn_timeout="300"
+ skip_suspected_members="true"
+ enable_diagnostics="${jboss.jgroups.enable_diagnostics:true}"
+ diagnostics_addr="${jboss.jgroups.diagnostics_addr:224.0.75.75}"
+ diagnostics_port="${jboss.jgroups.diagnostics_port:7500}"
+
+ thread_pool.enabled="true"
+ thread_pool.min_threads="8"
+ thread_pool.max_threads="200"
+ thread_pool.keep_alive_time="5000"
+ thread_pool.queue_enabled="true"
+ thread_pool.queue_max_size="500"
+ thread_pool.rejection_policy="discard"
+
+ oob_thread_pool.enabled="true"
+ oob_thread_pool.min_threads="1"
+ oob_thread_pool.max_threads="100"
+ oob_thread_pool.keep_alive_time="5000"
+ oob_thread_pool.queue_enabled="false"
+ oob_thread_pool.rejection_policy="discard"/>
+ <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
+ <MERGE2 max_interval="100000" min_interval="20000"/>
+ <FD_SOCK start_port="${jboss.jgroups.jbm_data.fd_sock_port:57900}"/>
+ <FD timeout="6000" max_tries="5" shun="true"/>
+ <VERIFY_SUSPECT timeout="1500"/>
+ <BARRIER/>
+ <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+ retransmit_timeout="300,600,1200,2400,4800"
+ discard_delivered_msgs="true"/>
+ <UNICAST timeout="300,600,1200,2400,3600"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+ max_bytes="400000"/>
+ <VIEW_SYNC avg_send_interval="10000"/>
+
+ <pbcast.GMS print_local_addr="true" join_timeout="3000"
+ shun="true" view_bundling="true"/>
+ </config>
+ </stack>
+
+</protocol_stacks>
+
+
Property changes on: branches/Branch_No_Multicast/cluster/src/installers/ec2/resources/jgroups/jgroups-channelfactory-stacks.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Added: branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/build.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/build.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/build.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+<project default="install" name="mod_cluster EC2 Installer" basedir=".">
+
+ <property name="ec2.profile" value="mod_cluster-ec2"/>
+ <property name="mod_cluster.sar" value="mod-cluster.sar"/>
+ <property name="install.root" value="../../"/>
+
+ <property name="install.server" value="${install.root}/server"/>
+ <property name="install.production" value="${install.server}/production"/>
+ <property name="install.ec2" value="${install.server}/${ec2.profile}"/>
+ <property name="install.ec2.deploy" value="${install.ec2}/deploy"/>
+
+ <target name="install">
+
+ <!-- Build ec2 based on production -->
+ <!-- Copy server/production to server/ec2 -->
+ <copy todir="${install.ec2}">
+ <fileset dir="${install.production}">
+ <exclude name="deploy/cluster/jgroups-channelfactory.sar/META-INF/jgroups-channelfactory-stacks.xml"/>
+ <exclude name="deploy/cluster/jboss-cache-manager.sar/**"/>
+ <exclude name="deploy/jbossweb.sar/server.xml"/>
+ <exclude name="deploy/jbossweb.sar/META-INF/jboss-beans.xml"/>
+ </fileset>
+ </copy>
+
+ <!-- Add in the modified-for-ec2 content -->
+ <copy file="${basedir}/resources/jgroups/jgroups-channelfactory-stacks.xml"
+ todir="${install.ec2.deploy}/cluster/jgroups-channelfactory.sar/META-INF/"/>
+
+ <mkdir dir="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF"/>
+ <copy file="${basedir}/resources/jboss-cache/jboss-cache-configs.xml"
+ todir="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF/"/>
+ <copy file="${basedir}/resources/jboss-cache/jboss-cache-manager-jboss-beans.xml"
+ todir="${install.ec2.deploy}/cluster/jboss-cache-manager.sar/META-INF/"/>
+
+ <!-- Add mod-cluster.sar -->
+ <mkdir dir="${install.ec2.deploy}/mod-cluster.sar/META-INF"/>
+<!-- From where do we get mod-cluster.jar?
+ <copy file="${basedir}/lib/mod-cluster.jar"
+ todir="${install.ec2.deploy}/${mod_cluster.sar}/"/>
+-->
+ <copy file="${basedir}/resources/mod_cluster/mod-cluster-jboss-beans.xml"
+ todir="${install.ec2.deploy}/${mod_cluster.sar}/META-INF"/>
+
+ <!-- Add in the modified-for-mod_cluster content -->
+ <copy file="${basedir}/resources/jbossweb/server.xml"
+ todir="${install.ec2.deploy}/jbossweb.sar/"/>
+ <copy file="${basedir}/resources/jbossweb/jboss-beans.xml"
+ todir="${install.ec2.deploy}/jbossweb.sar/META-INF"/>
+ </target>
+
+</project>
\ No newline at end of file
Added: branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/jboss-beans.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/jboss-beans.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/jboss-beans.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="WebServer"
+ class="org.jboss.web.tomcat.service.deployers.TomcatService">
+
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=WebServer", exposedInterface=org.jboss.web.tomcat.service.deployers.TomcatServiceMBean.class,registerDirectly=true)</annotation>
+
+ <!-- Only needed if the org.jboss.web.tomcat.service.jca.CachedConnectionValve
+ is enabled in the tomcat server.xml file.
+ -->
+ <depends>jboss.jca:service=CachedConnectionManager</depends>
+
+ <!-- Transaction manager for unfinished transaction checking in the CachedConnectionValve -->
+ <depends>jboss:service=TransactionManager</depends>
+
+ <depends>HAModClusterService</depends>
+
+ <!-- Inject the TomcatDeployer -->
+ <property name="tomcatDeployer"><inject bean="WarDeployer"/></property>
+ <!-- Set the securityManagerService used to flush the auth cache on session expiration -->
+ <property name="securityManagerService">
+ <inject bean="jboss.security:service=JaasSecurityManager" />
+ </property>
+ <!--
+ Do not configure other JMX attributes via this file.
+ Use the WarDeployer bean in deployers/jboss-web.deployer/war-deployers-beans.xml
+ -->
+
+ </bean>
+
+ <bean name="WebServerMO"
+ class="org.jboss.web.tomcat.service.management.WebServer">
+ <property name="domain">jboss.web</property>
+ <property name="nameProps">
+ <map class="java.util.Properties" keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>service</key>
+ <value>WebServer</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="ConnectorBean-http-${jboss.bind.address}-8080MO"
+ class="org.jboss.web.tomcat.service.management.ConnectorBean">
+ <property name="domain">jboss.web</property>
+ <property name="nameProps">
+ <map class="java.util.Properties" keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>type</key>
+ <value>GlobalRequestProcessor</value>
+ </entry>
+ </map>
+ </property>
+ <property name="port">
+ <value-factory bean="ServiceBindingManager"
+ method="getIntBinding" >
+ <parameter>jboss.web:service=WebServer</parameter>
+ </value-factory>
+ </property>
+ <property name="address">
+ <value-factory bean="ServiceBindingManager"
+ method="getStringBinding" >
+ <parameter>jboss.web:service=WebServer</parameter>
+ </value-factory>
+ </property>
+ <property name="server"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ </bean>
+ <bean name="ThreadPool-http-${jboss.bind.address}-8080MO"
+ class="org.jboss.web.tomcat.service.management.ThreadPool">
+ <property name="domain">jboss.web</property>
+ <property name="nameProps">
+ <map class="java.util.Properties" keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>type</key>
+ <value>ThreadPool</value>
+ </entry>
+ </map>
+ </property>
+ <property name="port">
+ <value-factory bean="ServiceBindingManager"
+ method="getIntBinding" parameter="jboss.web:service=WebServer"/>
+ </property>
+ <property name="address">
+ <value-factory bean="ServiceBindingManager"
+ method="getStringBinding" parameter="jboss.web:service=WebServer"/>
+ </property>
+ <property name="server"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ </bean>
+ <bean name="${jboss.bind.address}-MO"
+ class="org.jboss.web.tomcat.service.management.Host">
+ <property name="domain">jboss.web</property>
+ <property name="nameProps">
+ <map class="java.util.Properties" keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>type</key>
+ <value>Host</value>
+ </entry>
+ <entry>
+ <key>host</key>
+ <value>
+ <value-factory bean="ServiceBindingManager"
+ method="getStringBinding" parameter="jboss.web:service=WebServer"/>
+ </value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+
+</deployment>
Added: branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/server.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/server.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/server.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,169 @@
+<Server>
+
+ <!-- Optional listener which ensures correct init and shutdown of APR,
+ and provides information if it is not installed -->
+ <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+ <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
+ <Listener className="org.apache.catalina.core.JasperListener" />
+ <Listener className="org.jboss.web.tomcat.service.deployers.MicrocontainerIntegrationLifecycleListener" delegateBeanName="ModClusterService"/>
+
+ <Service name="jboss.web">
+
+ <!-- A HTTP/1.1 Connector on port 8080 -->
+ <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
+ connectionTimeout="20000" redirectPort="8443" />
+
+ <!-- Add this option to the connector to avoid problems with
+ .NET clients that don't implement HTTP/1.1 correctly
+ restrictedUserAgents="^.*MS Web Services Client Protocol 1.1.4322.*$"
+ -->
+
+ <!-- A AJP 1.3 Connector on port 8009 -->
+ <Connector protocol="AJP/1.3" port="8009" address="${jboss.bind.address}"
+ redirectPort="8443" />
+
+ <!-- SSL/TLS Connector configuration using the admin devl guide keystore
+ <Connector protocol="HTTP/1.1" SSLEnabled="true"
+ port="8443" address="${jboss.bind.address}"
+ scheme="https" secure="true" clientAuth="false"
+ keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore"
+ keystorePass="rmi+ssl" sslProtocol = "TLS" />
+ -->
+
+ <Engine name="jboss.web" defaultHost="localhost" jvmRoute="${jboss.jvmRoute}">
+
+ <!-- The JAAS based authentication and authorization realm implementation
+ that is compatible with the jboss 3.2.x realm implementation.
+ - certificatePrincipal : the class name of the
+ org.jboss.security.auth.certs.CertificatePrincipal impl
+ used for mapping X509[] cert chains to a Princpal.
+ - allRolesMode : how to handle an auth-constraint with a role-name=*,
+ one of strict, authOnly, strictAuthOnly
+ + strict = Use the strict servlet spec interpretation which requires
+ that the user have one of the web-app/security-role/role-name
+ + authOnly = Allow any authenticated user
+ + strictAuthOnly = Allow any authenticated user only if there are no
+ web-app/security-roles
+ -->
+ <Realm className="org.jboss.web.tomcat.security.JBossWebRealm"
+ certificatePrincipal="org.jboss.security.auth.certs.SubjectDNMapping"
+ allRolesMode="authOnly"
+ />
+ <!-- A subclass of JBossSecurityMgrRealm that uses the authentication
+ behavior of JBossSecurityMgrRealm, but overrides the authorization
+ checks to use JACC permissions with the current java.security.Policy
+ to determine authorized access.
+ - allRolesMode : how to handle an auth-constraint with a role-name=*,
+ one of strict, authOnly, strictAuthOnly
+ + strict = Use the strict servlet spec interpretation which requires
+ that the user have one of the web-app/security-role/role-name
+ + authOnly = Allow any authenticated user
+ + strictAuthOnly = Allow any authenticated user only if there are no
+ web-app/security-roles
+ <Realm className="org.jboss.web.tomcat.security.JaccAuthorizationRealm"
+ certificatePrincipal="org.jboss.security.auth.certs.SubjectDNMapping"
+ allRolesMode="authOnly"
+ />
+ -->
+
+ <Host name="localhost">
+
+ <!-- Uncomment to enable request dumper. This Valve "logs interesting
+ contents from the specified Request (before processing) and the
+ corresponding Response (after processing). It is especially useful
+ in debugging problems related to headers and cookies."
+ -->
+ <!--
+ <Valve className="org.apache.catalina.valves.RequestDumperValve" />
+ -->
+
+ <!-- Access logger -->
+ <!--
+ <Valve className="org.apache.catalina.valves.AccessLogValve"
+ prefix="localhost_access_log." suffix=".log"
+ pattern="common" directory="${jboss.server.log.dir}"
+ resolveHosts="false" />
+ -->
+
+ <!-- Uncomment to enable single sign-on across web apps
+ deployed to this host. Does not provide SSO across a cluster.
+
+ If this valve is used, do not use the JBoss ClusteredSingleSignOn
+ valve shown below.
+
+ A new configuration attribute is available beginning with
+ release 4.0.4:
+
+ cookieDomain configures the domain to which the SSO cookie
+ will be scoped (i.e. the set of hosts to
+ which the cookie will be presented). By default
+ the cookie is scoped to "/", meaning the host
+ that presented it. Set cookieDomain to a
+ wider domain (e.g. "xyz.com") to allow an SSO
+ to span more than one hostname.
+ -->
+ <!--
+ <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+ -->
+
+ <!-- Uncomment to enable single sign-on across web apps
+ deployed to this host AND to all other hosts in the cluster.
+
+ If this valve is used, do not use the standard Tomcat SingleSignOn
+ valve shown above.
+
+ Valve uses a JBossCache instance to support SSO credential
+ caching and replication across the cluster. The JBossCache
+ instance must be configured separately. See the
+ "jboss-web-clusteredsso-beans.xml" file in the
+ server/all/deploy directory for cache configuration details.
+
+ Besides the attributes supported by the standard Tomcat
+ SingleSignOn valve (see the Tomcat docs), this version also
+ supports the following attributes:
+
+ cookieDomain see non-clustered valve above
+
+ cacheConfig Name of the CacheManager service configuration
+ to use for the clustered SSO cache. See
+ deploy/cluster/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans.xml
+ Default is "clustered-sso".
+
+ treeCacheName Deprecated. Use "cacheConfig".
+ JMX ObjectName of the JBoss Cache MBean used to
+ support credential caching and replication across
+ the cluster. Only used if no cache can be located
+ from the CacheManager service using the "cacheConfig"
+ attribute (or its default value). If not set, the
+ default is "jboss.cache:service=TomcatClusteringCache"
+
+ maxEmptyLife The maximum number of seconds an SSO with no
+ active sessions will be usable by a request
+
+ processExpiresInterval The minimum number of seconds between
+ efforts by the valve to find and invalidate
+ SSO's that have exceeded their 'maxEmptyLife'.
+ Does not imply effort will be spent on such
+ cleanup every 'processExpiresInterval'.
+ -->
+ <!--
+ <Valve className="org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn" />
+ -->
+
+ <!-- Check for unclosed connections and transaction terminated checks
+ in servlets/jsps.
+
+ Important: The dependency on the CachedConnectionManager
+ in META-INF/jboss-service.xml must be uncommented, too
+ -->
+
+ <Valve className="org.jboss.web.tomcat.service.jca.CachedConnectionValve"
+ cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
+ transactionManagerObjectName="jboss:service=TransactionManager" />
+
+ </Host>
+ </Engine>
+
+ </Service>
+
+</Server>
Property changes on: branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/jbossweb/server.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/mod_cluster/mod-cluster-jboss-beans.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/mod_cluster/mod-cluster-jboss-beans.xml (rev 0)
+++ branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/mod_cluster/mod-cluster-jboss-beans.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Beans that provide JBoss AS-side functionality for mod_cluster. These
+ beans are all "On Demand", i.e. that are not installed unless requested.
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- The core HAModClusterService, for use in clustered environments -->
+ <bean name="HAModClusterService" class="org.jboss.modcluster.ha.HAModClusterService" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=ModCluster",exposedInterface=org.jboss.modcluster.ha.HAModClusterServiceMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="HAPartition"/></parameter>
+ <parameter><inject bean="HAModClusterConfig"/></parameter>
+ <parameter><inject bean="DynamicLoadBalanceFactorProvider"/></parameter>
+ <parameter><bean class="org.jboss.ha.singleton.HASingletonElectionPolicySimple"/></parameter>
+ </constructor>
+ </bean>
+
+ <!-- Configure this node's communication with the load balancer -->
+ <bean name="HAModClusterConfig" class="org.jboss.modcluster.config.ha.HAModClusterConfig" mode="On Demand">
+
+ <!-- Comma separated list of address:port listing the httpd servers
+ where mod_cluster is running. -->
+ <property name="proxyList">${jboss.modcluster.proxyList:}</property>
+ <!-- URL prefix to send with commands to mod_cluster. Default is no prefix. -->
+ <!--property name="proxyURL"></property-->
+
+ <!-- mod_advertise is a small httpd module that advertises the
+ availability of httpd servers via multicast, allowing
+ ModClusterService to discover the httpd front-end instead of/in
+ addition to having them defined in proxyList. -->
+ <!-- Whether to listen for advertise messages -->
+ <property name="advertise">true</property>
+ <!-- Multicast address on which to listen for advertisements -->
+ <property name="advertiseGroupAddress">${jboss.modcluster.advertise.address,jboss.partition.udpGroup:224.0.1.105}</property>
+ <!-- Port to listen to for advertisements -->
+ <property name="advertisePort">${jboss.modcluster.advertise.port:23364}</property>
+
+ <!-- Comma delimited list of contexts that should *not* be auto-registered with httpd. -->
+ <!-- ROOT indicates the root context. -->
+ <!-- Context may be qualified by host using a colon, e.g. host1:context1 -->
+ <!-- If no host is defined, localhost is assumed. -->
+ <property name="excludedContexts">${jboss.modcluster.excludedContexts:ROOT,admin-console,invoker,jbossws,jmx-console,juddi,web-console}</property>
+
+ <!-- Security key the proxy is going to send with advertise messages.
+ Default is none. -->
+ <!--property name="advertiseSecurityKey"></property-->
+
+ <!-- Whether to use SSL to communicate with mod_cluster. Note this
+ has nothing to do with handling of https requests by JBoss Web -->
+ <property name="ssl">false</property>
+
+ <!-- Configuration values for the load balancer itself (must be the
+ same on all nodes in the cluster). These will be passed to the
+ load balancer. -->
+ <property name="stickySession">true</property>
+ <property name="stickySessionForce">false</property>
+ <property name="stickySessionRemove">false</property>
+ <property name="maxAttempts">-1</property>
+ <property name="workerTimeout">-1</property>
+ </bean>
+
+ <!-- Provides information to ModClusterService informing it how much load
+ this server should take. This impl calculates load factor from a
+ number of metrics and adjusts the value periodically based on runtime
+ conditions, using to the JBossWeb engine's backgroundProcessorDelay. -->
+ <bean name="DynamicLoadBalanceFactorProvider" class="org.jboss.modcluster.load.impl.DynamicLoadBalanceFactorProvider" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=LoadBalanceFactorProvider",exposedInterface=org.jboss.modcluster.load.impl.DynamicLoadBalanceFactorProviderMBean.class)</annotation>
+ <constructor>
+ <parameter>
+ <!-- Define the load metrics to use in your load balance factor calculation here -->
+ <set elementClass="org.jboss.modcluster.load.metric.LoadMetric">
+ <inject bean="BusyConnectorsLoadMetric"/>
+ <inject bean="HeapMemoryUsageLoadMetric"/>
+ </set>
+ </parameter>
+ </constructor>
+ <!-- The number of historical load values used to determine load factor -->
+ <!--property name="history">9</property-->
+ <!-- The exponential decay factor for historical load values -->
+ <!--property name="decayFactor">2</property-->
+ </bean>
+
+ <!-- Default load metrics/sources -->
+ <!-- The JBossWeb connector thread pool usage as a ratio of busy threads to max thread pool size -->
+ <!-- Analogous to method=B in mod_jk -->
+ <bean name="BusyConnectorsLoadMetric" class="org.jboss.modcluster.load.metric.impl.BusyConnectorsLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=BusyConnectorsLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="ThreadPoolLoadMetricSource"/></parameter>
+ </constructor>
+ <!-- The weight determines the significance of this metric with respect
+ to others in the overall load balance factor calculation -->
+ <property name="weight">2</property>
+ </bean>
+ <!-- Queries all JBossWeb ThreadPool mbeans -->
+ <bean name="ThreadPoolLoadMetricSource" class="org.jboss.modcluster.load.metric.impl.ThreadPoolLoadMetricSource" mode="On Demand">
+ <constructor>
+ <parameter class="javax.management.MBeanServer"><inject bean="JMXKernel" property="mbeanServer"/></parameter>
+ <!-- Object name pattern for connector thread pools -->
+ <!--parameter>jboss.web:type=ThreadPool,*</parameter-->
+ </constructor>
+ </bean>
+
+ <!-- The heap memory usage as a ratio of used heap to max heap size -->
+ <!-- N.B. This load metric is its own source -->
+ <bean name="HeapMemoryUsageLoadMetric" class="org.jboss.modcluster.load.metric.impl.HeapMemoryUsageLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=HeapMemoryUsageLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <!--property name="weight">1</property-->
+ </bean>
+
+
+ <!-- The core ModClusterService, for use in non-clustered environments -->
+ <bean name="ModClusterService" class="org.jboss.modcluster.ModClusterService" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=ModCluster",exposedInterface=org.jboss.modcluster.ModClusterServiceMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="DynamicLoadBalanceFactorProvider"/></parameter>
+ </constructor>
+ <!-- Comma delimited list of address:port listing the httpd servers
+ where mod_cluster is running. -->
+ <property name="proxyList">${jboss.modcluster.proxyList:}</property>
+ <!-- URL prefix to send with commands to mod_cluster. Default is no prefix. -->
+ <!--property name="proxyURL"></property-->
+
+ <!-- mod_advertise is a small httpd module that advertises the
+ availability of httpd servers via multicast, allowing
+ ModClusterService to discover the httpd front-end instead of
+ (or in addition to) having them defined in proxyList. -->
+ <!-- Whether to listen for advertise messages -->
+ <property name="advertise">true</property>
+ <!-- Multicast address on which to listen for advertisements -->
+ <property name="advertiseGroupAddress">${jboss.modcluster.advertise.address,jboss.partition.udpGroup:224.0.1.105}</property>
+ <!-- Port to listen to for advertisements -->
+ <property name="advertisePort">${jboss.modcluster.advertise.port:23364}</property>
+
+ <!-- Comma delimited list of contexts that should *not* be auto-registered with httpd. -->
+ <!-- ROOT indicates the root context. -->
+ <!-- Context may be qualified by host using a colon, e.g. host1:context1 -->
+ <!-- If no host is defined, localhost is assumed. -->
+ <property name="excludedContexts">${jboss.modcluster.excludedContexts:ROOT,admin-console,invoker,jbossws,jmx-console,juddi,web-console}</property>
+
+ <!-- Security key the proxy is going to send with advertise messages.
+ Default is none. -->
+ <!--property name="advertiseSecurityKey"></property-->
+
+ <!-- Whether to use SSL to communicate with mod_cluster. Note this
+ has nothing to do with handling of https requests by JBoss Web -->
+ <property name="ssl">false</property>
+
+ <!-- Configuration values for the load balancer itself (must be the
+ same on all nodes in the cluster). These will be passed to the
+ load balancer. -->
+ <property name="stickySession">true</property>
+ <property name="stickySessionForce">false</property>
+ <property name="stickySessionRemove">false</property>
+ <property name="maxAttempts">-1</property>
+ <property name="workerTimeout">-1</property>
+ </bean>
+
+
+ <!-- Alternative load balance factor providers -->
+
+ <!-- Basic impl that returns a static load balance factor.
+ This would replace the DynamicLoadBalanceFactorProvider
+ used above.
+ -->
+ <bean name="SimpleLoadBalanceFactorProvider" class="org.jboss.modcluster.load.impl.SimpleLoadBalanceFactorProvider" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=LoadBalanceFactorProvider",exposedInterface=org.jboss.modcluster.load.impl.SimpleLoadBalanceFactorProviderMBean.class)</annotation>
+ <property name="loadBalanceFactor">1</property>
+ </bean>
+
+ <!--
+ Alternative load metrics, grouped by source.
+ To use these, inject them into the set passed to the
+ DynamicLoadBalanceFactorProvider bean's constructor above.
+ -->
+
+ <!-- CPU usage -->
+ <!-- Perhaps the best metric for determining system load - but only available on Java 1.6 or later -->
+ <bean name="AverageSystemLoadMetric" class="org.jboss.modcluster.load.metric.impl.AverageSystemLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=AverageSystemLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="OperatingSystemLoadMetricSource"/></parameter>
+ </constructor>
+ </bean>
+ <!-- The system memory usage as ratio of used memory to total memory size -->
+ <!-- Requires com.sun.management.OperatingSystemMXBean -->
+ <bean name="SystemMemoryUsageLoadMetric" class="org.jboss.modcluster.load.metric.impl.SystemMemoryUsageLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=SystemMemoryUsageLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="OperatingSystemLoadMetricSource"/></parameter>
+ </constructor>
+ </bean>
+ <!-- Uses the platform's OperatingSystemMXBean -->
+ <bean name="OperatingSystemLoadMetricSource" class="org.jboss.modcluster.load.metric.impl.OperatingSystemLoadMetricSource" mode="On Demand">
+ </bean>
+
+
+ <!-- The number of requests/sec processed by the JBossWeb connectors, with respect to the defined capacity -->
+ <!-- Analogous to method=R in mod_jk -->
+ <bean name="RequestCountLoadMetric" class="org.jboss.modcluster.load.metric.impl.RequestCountLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=RequestCountLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter class="org.jboss.modcluster.load.metric.impl.RequestProcessorLoadMetricSource"><inject bean="RequestProcessorLoadMetricSource"/></parameter>
+ <!--parameter>requestCount</parameter-->
+ </constructor>
+ <!-- This metric requires an explicit capacity, e.g. maximum capacity of 1000 requests/sec -->
+ <property name="capacity">1000</property>
+ </bean>
+ <!-- The incoming traffic received by JBossWeb connectors in KB/sec, with respect to the defined capacity -->
+ <!-- Analogous to method=T in mod_jk -->
+ <bean name="ReceiveTrafficLoadMetric" class="org.jboss.modcluster.load.metric.impl.ReceiveTrafficLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=ReceiveTrafficLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter class="org.jboss.modcluster.load.metric.impl.RequestProcessorLoadMetricSource"><inject bean="RequestProcessorLoadMetricSource"/></parameter>
+ <!--parameter>bytesReceived</parameter-->
+ </constructor>
+ <!-- This metric requires an explicit capacity, e.g. max capacity of 1024 KB/s -->
+ <property name="capacity">1024</property>
+ </bean>
+ <!-- The outgoing traffic sent by JBossWeb connectors in KB/sec, with respect to the defined capacity -->
+ <bean name="SendTrafficLoadMetric" class="org.jboss.modcluster.load.metric.impl.SendTrafficLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=SendTrafficLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter class="org.jboss.modcluster.load.metric.impl.RequestProcessorLoadMetricSource"><inject bean="RequestProcessorLoadMetricSource"/></parameter>
+ <!--parameter>bytesSent</parameter-->
+ </constructor>
+ <!-- This metric requires an explicit capacity, e.g. max capacity of 512 KB/s -->
+ <property name="capacity">512</property>
+ </bean>
+ <!-- Queries all JBossWeb GlobalRequestProcessor mbeans -->
+ <bean name="RequestProcessorLoadMetricSource" class="org.jboss.modcluster.load.metric.impl.RequestProcessorLoadMetricSource" mode="On Demand">
+ <constructor>
+ <parameter class="javax.management.MBeanServer"><inject bean="JMXKernel" property="mbeanServer"/></parameter>
+ <!-- Object name pattern for request processors -->
+ <!--parameter>jboss.web:type=GlobalRequestProcessor,*</parameter-->
+ </constructor>
+ </bean>
+
+
+ <!-- The number of active sessions, with respect to the defined capacity -->
+ <!-- Analogous to method=S in mod_jk -->
+ <bean name="ActiveSessionsLoadMetric" class="org.jboss.modcluster.load.metric.impl.ActiveSessionsLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=ActiveSessionsLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="SessionLoadMetricSource"/></parameter>
+ <!--parameter>activeSessions</parameter-->
+ </constructor>
+ <!-- This metric requires an explicit capacity, e.g. max capacity of 1000 active sessions -->
+ <property name="capacity">1000</property>
+ </bean>
+ <!-- Queries all JBossWeb session manager mbeans -->
+ <bean name="SessionLoadMetricSource" class="org.jboss.modcluster.load.metric.impl.SessionLoadMetricSource" mode="On Demand">
+ <constructor>
+ <parameter class="javax.management.MBeanServer"><inject bean="JMXKernel" property="mbeanServer"/></parameter>
+ <!-- Object name pattern for session managers -->
+ <!--parameter>jboss.web:type=Manager,*</parameter-->
+ </constructor>
+ </bean>
+
+
+ <!-- Returns the connection pool usage as a ratio of used to max pool size -->
+ <bean name="ConnectionPoolUsageMetric" class="org.jboss.modcluster.load.metric.impl.ConnectionPoolUsageLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=ConnectionPoolUsageLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="ConnectionPoolLoadMetricSource"/></parameter>
+ <!--parameter>InUseConnectionCount</parameter-->
+ <!--parameter>MaxSize</parameter-->
+ </constructor>
+ </bean>
+ <!-- Queries all JCA connection pools -->
+ <bean name="ConnectionPoolLoadMetricSource" class="org.jboss.modcluster.load.metric.impl.ConnectionPoolLoadMetricSource" mode="On Demand">
+ <constructor>
+ <parameter class="javax.management.MBeanServer"><inject bean="JMXKernel" property="mbeanServer"/></parameter>
+ <!-- Object name pattern for connector thread pools -->
+ <!--parameter>jboss.jca:service=ManagedConnectionPool,*</parameter-->
+ </constructor>
+ </bean>
+
+ <!-- Generic load metrics/sources -->
+
+ <!-- Uses the sum of the values of the specified attribute for each
+ mbean matching the query, with respect to a defined capacity. -->
+ <bean name="MBeanAttributeLoadMetric" class="org.jboss.modcluster.load.metric.impl.MBeanAttributeLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=MBeanAttributeLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="MBeanQueryLoadMetricSource"/></parameter>
+ <parameter><!-- mbean attribute --></parameter>
+ </constructor>
+ <property name="capacity">1</property>
+ </bean>
+ <!-- Uses the ratio of the sum of the values of the specified dividend attribute,
+ to the sum of the values of the specified divisor attribute for each mbean
+ matching the query. -->
+ <bean name="MBeanAttributeRatioLoadMetric" class="org.jboss.modcluster.load.metric.impl.MBeanAttributeLoadMetric" mode="On Demand">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.web:service=MBeanAttributeLoadMetric",exposedInterface=org.jboss.modcluster.load.metric.LoadMetricMBean.class)</annotation>
+ <constructor>
+ <parameter><inject bean="MBeanQueryLoadMetricSource"/></parameter>
+ <parameter><!-- dividend attribute --></parameter>
+ <parameter><!-- divisor attribute --></parameter>
+ </constructor>
+ </bean>
+ <!-- Queries for mbeans matching the specified pattern -->
+ <bean name="MBeanQueryLoadMetricSource" class="org.jboss.modcluster.load.metric.impl.MBeanQueryLoadMetricSource" mode="On Demand">
+ <constructor>
+ <parameter><!-- ObjectName pattern --></parameter>
+ <parameter><inject bean="JMXKernel" property="mbeanServer"/></parameter>
+ </constructor>
+ </bean>
+
+</deployment>
Property changes on: branches/Branch_No_Multicast/cluster/src/installers/mod_cluster-ec2/resources/mod_cluster/mod-cluster-jboss-beans.xml
___________________________________________________________________
Name: svn:executable
+ *
Deleted: branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-configs-ec.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-configs-ec.xml 2010-06-17 22:42:51 UTC (rev 106142)
+++ branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-configs-ec.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<registry:cache-configs xmlns="urn:jboss:jbosscache-core:config:3.0"
- xmlns:registry="urn:jboss:jbosscache-core:cache-repo:3.0">
-
- <!--
- JBoss Cache configurations using the standard JBC 3.x config format
- can be added to this file, and will usable by the AS's CacheManager
- if the "configResource" property in the jboss-cache-manager-jboss-beans.xml
- file's "CacheConfigurationRegistry" bean is uncommented. (It is
- commented out by default.)
- However, use of the microcontainer config format used in this
- sar's jboss-cache-manager-jboss-beans.xml file is recommended.
- -->
-
- <!-- An example config; not intended for use; just to illustrate JBC 3's
- config format and to comply with schema requirement for a cache-config
- element. Removing this example is recommended if a real config is added.
- -->
- <registry:cache-config name="example">
-
- <locking isolationLevel="REPEATABLE_READ" lockAcquisitionTimeout="15000" nodeLockingScheme="pessimistic"/>
- <serialization useRegionBasedMarshalling="true"/>
- <startup regionsInactiveOnStartup="true"/>
- <clustering clusterName="${jboss.partition.name:DefaultPartition}-example" mode="r">
- <stateRetrieval fetchInMemoryState="true" timeout="60000"/>
- <jgroupsConfig multiplexerStack="${jboss.default.jgroups.stack:tcp}"/>
- <sync replTimeout="175000"/>
- </clustering>
- <eviction wakeUpInterval="5000">
- <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm">
- <property name="maxNodes" value="5000" />
- <property name="timeToLive" value="1000" />
- </default>
- </eviction>
- </registry:cache-config>
-
-
-</registry:cache-configs>
Deleted: branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans-ec.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans-ec.xml 2010-06-17 22:42:51 UTC (rev 106142)
+++ branches/Branch_No_Multicast/cluster/src/resources/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans-ec.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -1,1494 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- Factory/registry for JBoss Cache and PojoCache instances used in the AS -->
- <bean name="CacheManager" class="org.jboss.ha.cachemanager.CacheManager">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=CacheManager", exposedInterface=org.jboss.ha.cachemanager.CacheManagerMBean.class, registerDirectly=true)</annotation>
-
- <!-- This doesn't seem to work, so the service binds itself for now
- <annotation>@org.jboss.aop.microcontainer.aspects.jndi.JndiBinding(name="java:CacheManager")</annotation>
- -->
- <property name="jndiName">java:CacheManager</property>
-
- <property name="configurationRegistry"><inject bean="CacheConfigurationRegistry"/></property>
- <property name="channelFactory"><inject bean="JChannelFactory"/></property>
-
- <!-- Aliases for cache names. Allows caches to be shared across
- services that may expect different cache config names. -->
- <property name="configAliases">
- <map keyClass="java.lang.String" valueClass="java.lang.String">
- <!-- Use the HAPartition cache for ClusteredSSO caching -->
- <entry>
- <key>clustered-sso</key>
- <value>ha-partition</value>
- </entry>
- <!-- Handle the legacy name for the EJB3 SFSB cache -->
- <entry>
- <key>jboss.cache:service=EJB3SFSBClusteredCache</key>
- <value>sfsb-cache</value>
- </entry>
- <!-- Handle the legacy name for the EJB3 Entity cache -->
- <entry>
- <key>jboss.cache:service=EJB3EntityTreeCache</key>
- <value>mvcc-shared</value>
- </entry>
- </map>
- </property>
-
- <!-- Start these caches as part of the start of this CacheManager
- <property name="eagerStartCaches">
- <set>
- <value>ha-partition</value>
- </set>
- </property>
- -->
-
- </bean>
-
- <!--
- | Registry of named JBoss Cache configurations. Users of the CacheManager
- | request a cache with a particular configuration by providing the name
- | of one of these configurations.
- -->
- <bean name="CacheConfigurationRegistry" class="org.jboss.ha.cachemanager.DependencyInjectedConfigurationRegistry">
-
- <!-- If users wish to add configs using a more familiar JBC config format
- they can add them to a cache-configs.xml file specified by this property.
- However, use of the microcontainer format used below is recommended.
- <property name="configResource">META-INF/jboss-cache-configs.xml</property>
- -->
-
- <!-- The configurations. A Map<String name, Configuration config> -->
- <property name="newConfigurations">
- <map keyClass="java.lang.String" valueClass="org.jboss.cache.config.Configuration">
-
- <!-- The standard configurations follow. You can add your own and/or edit these. -->
-
- <!-- Standard cache used for web sessions -->
- <entry><key>standard-session-cache</key>
- <value>
- <bean name="StandardSessionCacheConfig" class="org.jboss.cache.config.Configuration">
-
- <!-- Provides batching functionality for caches that don't want to interact with regular JTA Transactions -->
- <property name="transactionManagerLookupClass">org.jboss.cache.transaction.BatchModeTransactionManagerLookup</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-SessionCache</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because we are using asynchronous replication. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <property name="fetchInMemoryState">true</property>
-
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <property name="isolationLevel">REPEATABLE_READ</property>
- <property name="useLockStriping">false</property>
- <property name="cacheMode">REPL_ASYNC</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. Make this longer
- than lockAcquisitionTimeout.-->
- <property name="syncReplTimeout">17500</property>
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Not needed for a web session cache that doesn't use FIELD -->
- <property name="useRegionBasedMarshalling">false</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">false</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="exposeManagementStatistics">true</property>
-
- <property name="buddyReplicationConfig">
- <bean class="org.jboss.cache.config.BuddyReplicationConfig">
-
- <!-- Just set to true to turn on buddy replication -->
- <property name="enabled">false</property>
-
- <!-- A way to specify a preferred replication group. We try
- and pick a buddy who shares the same pool name (falling
- back to other buddies if not available). -->
- <property name="buddyPoolName">default</property>
-
- <property name="buddyCommunicationTimeout">17500</property>
-
- <!-- Do not change these -->
- <property name="autoDataGravitation">false</property>
- <property name="dataGravitationRemoveOnFind">true</property>
- <property name="dataGravitationSearchBackupTrees">true</property>
-
- <property name="buddyLocatorConfig">
- <bean class="org.jboss.cache.buddyreplication.NextMemberBuddyLocatorConfig">
- <!-- The number of backup copies we maintain -->
- <property name="numBuddies">1</property>
- <!-- Means that each node will *try* to select a buddy on
- a different physical host. If not able to do so
- though, it will fall back to colocated nodes. -->
- <property name="ignoreColocatedBuddies">true</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="cacheLoaderConfig">
- <bean class="org.jboss.cache.config.CacheLoaderConfig">
- <!-- Do not change these -->
- <property name="passivation">true</property>
- <property name="shared">false</property>
-
- <property name="individualCacheLoaderConfigs">
- <list>
- <bean class="org.jboss.cache.loader.FileCacheLoaderConfig">
- <!-- Where passivated sessions are stored -->
- <property name="location">${jboss.server.data.dir}${/}session</property>
- <!-- Do not change these -->
- <property name="async">false</property>
- <property name="fetchPersistentState">true</property>
- <property name="purgeOnStartup">true</property>
- <property name="ignoreModifications">false</property>
- <property name="checkCharacterPortability">false</property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- Appropriate for web sessions with FIELD granularity -->
- <entry><key>field-granularity-session-cache</key>
- <value>
-
- <bean name="FieldSessionCacheConfig" class="org.jboss.cache.config.Configuration">
-
- <!-- Provides batching functionality for caches that don't want to interact with regular JTA Transactions -->
- <property name="transactionManagerLookupClass">org.jboss.cache.transaction.BatchModeTransactionManagerLookup</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-FieldSessionCache</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because we are using asynchronous replication. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <property name="fetchInMemoryState">true</property>
-
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <property name="isolationLevel">REPEATABLE_READ</property>
- <property name="useLockStriping">false</property>
- <property name="cacheMode">REPL_ASYNC</property>
-
- <property name="syncReplTimeout">17500</property>
- <property name="lockAcquisitionTimeout">15000</property>
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Field granularity requires region-based marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="exposeManagementStatistics">true</property>
-
- <property name="buddyReplicationConfig">
- <bean class="org.jboss.cache.config.BuddyReplicationConfig">
-
- <!-- Just set to true to turn on buddy replication -->
- <property name="enabled">false</property>
- <!-- A way to specify a preferred replication group. We try
- and pick a buddy who shares the same pool name (falling
- back to other buddies if not available). -->
- <property name="buddyPoolName">default</property>
- <property name="buddyCommunicationTimeout">17500</property>
-
- <!-- Do not change these -->
- <property name="autoDataGravitation">false</property>
- <property name="dataGravitationRemoveOnFind">true</property>
- <property name="dataGravitationSearchBackupTrees">true</property>
-
- <property name="buddyLocatorConfig">
- <bean class="org.jboss.cache.buddyreplication.NextMemberBuddyLocatorConfig">
- <!-- The number of backup nodes we maintain -->
- <property name="numBuddies">1</property>
- <!-- Means that each node will *try* to select a buddy on
- a different physical host. If not able to do so
- though, it will fall back to colocated nodes. -->
- <property name="ignoreColocatedBuddies">true</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="cacheLoaderConfig">
- <bean class="org.jboss.cache.config.CacheLoaderConfig">
- <!-- Do not change these -->
- <property name="passivation">true</property>
- <property name="shared">false</property>
-
- <property name="individualCacheLoaderConfigs">
- <list>
- <bean class="org.jboss.cache.loader.FileCacheLoaderConfig">
- <!-- Where passivated sessions are stored -->
- <property name="location">${jboss.server.data.dir}${/}field-session</property>
- <!-- Do not change these -->
- <property name="async">false</property>
- <property name="fetchPersistentState">true</property>
- <property name="purgeOnStartup">true</property>
- <property name="ignoreModifications">false</property>
- <property name="checkCharacterPortability">false</property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
-
- </bean>
- </value>
- </entry>
-
- <!-- Standard cache used for EJB3 SFSB caching -->
- <entry><key>sfsb-cache</key>
- <value>
- <bean name="StandardSFSBCacheConfig" class="org.jboss.cache.config.Configuration">
-
- <!-- No transaction manager lookup -->
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-SFSBCache</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because we are using asynchronous replication. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <property name="fetchInMemoryState">true</property>
-
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <property name="isolationLevel">REPEATABLE_READ</property>
- <property name="useLockStriping">false</property>
- <property name="cacheMode">REPL_ASYNC</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. Make this longer
- than lockAcquisitionTimeout.-->
- <property name="syncReplTimeout">17500</property>
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!--
- SFSBs use region-based marshalling to provide for partial state
- transfer during deployment/undeployment.
- -->
- <property name="useRegionBasedMarshalling">false</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">false</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="exposeManagementStatistics">true</property>
-
- <property name="buddyReplicationConfig">
- <bean class="org.jboss.cache.config.BuddyReplicationConfig">
-
- <!-- Just set to true to turn on buddy replication -->
- <property name="enabled">false</property>
-
- <!-- A way to specify a preferred replication group. We try
- and pick a buddy who shares the same pool name (falling
- back to other buddies if not available). -->
- <property name="buddyPoolName">default</property>
-
- <property name="buddyCommunicationTimeout">17500</property>
-
- <!-- Do not change these -->
- <property name="autoDataGravitation">false</property>
- <property name="dataGravitationRemoveOnFind">true</property>
- <property name="dataGravitationSearchBackupTrees">true</property>
-
- <property name="buddyLocatorConfig">
- <bean class="org.jboss.cache.buddyreplication.NextMemberBuddyLocatorConfig">
- <!-- The number of backup nodes we maintain -->
- <property name="numBuddies">1</property>
- <!-- Means that each node will *try* to select a buddy on
- a different physical host. If not able to do so
- though, it will fall back to colocated nodes. -->
- <property name="ignoreColocatedBuddies">true</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="cacheLoaderConfig">
- <bean class="org.jboss.cache.config.CacheLoaderConfig">
- <!-- Do not change these -->
- <property name="passivation">true</property>
- <property name="shared">false</property>
-
- <property name="individualCacheLoaderConfigs">
- <list>
- <bean class="org.jboss.cache.loader.FileCacheLoaderConfig">
- <!-- Where passivated sessions are stored -->
- <property name="location">${jboss.server.data.dir}${/}sfsb</property>
- <!-- Do not change these -->
- <property name="async">false</property>
- <property name="fetchPersistentState">true</property>
- <property name="purgeOnStartup">true</property>
- <property name="ignoreModifications">false</property>
- <property name="checkCharacterPortability">false</property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
-
- <!-- EJBs use JBoss Cache eviction -->
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </property>
- <!-- EJB3 integration code will programatically create
- other regions as beans are deployed -->
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!--
- Appropriate for the HAPartition-based services, e.g. DistributedState,
- HA-JNDI. Also valid for use by the JBossWeb ClusteredSingleSignOn valve.
- -->
- <entry><key>ha-partition</key>
- <value>
-
- <bean name="HAPartitionCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Provides batching functionality for caches that don't want to interact with regular JTA Transactions -->
- <property name="transactionManagerLookupClass">org.jboss.cache.transaction.BatchModeTransactionManagerLookup</property>
-
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-HAPartitionCache</property>
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <property name="fetchInMemoryState">true</property>
-
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <property name="isolationLevel">REPEATABLE_READ</property>
- <property name="useLockStriping">false</property>
- <property name="cacheModeString">REPL_SYNC</property>
-
- <property name="syncReplTimeout">17500</property>
- <property name="lockAcquisitionTimeout">15000</property>
- <property name="stateRetrievalTimeout">60000</property>
-
- <property name="useRegionBasedMarshalling">false</property>
- <property name="inactiveOnStartup">false</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="exposeManagementStatistics">true</property>
- </bean>
- </value>
- </entry>
-
- <!--
- Following are JBoss Cache configurations suitable for different
- Hibernate 2nd Level Cache uses (e.g. entities vs. queries).
-
- In all cases, TransactionManager configuration not required.
- Hibernate will plug in its own transaction manager integration.
- -->
-
- <!-- A config appropriate for entity/collection caching that uses MVCC locking -->
- <entry><key>mvcc-entity</key>
- <value>
- <bean name="MVCCEntityCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">MVCC</property>
- <!-- READ_COMMITTED is as strong as necessary for most
- 2nd Level Cache use cases. -->
- <property name="isolationLevel">READ_COMMITTED</property>
- <property name="useLockStriping">false</property>
-
- <!-- Mode of communication with peer caches.
- INVALIDATION_SYNC is highly recommended as the mode for use
- with entity and collection caches. -->
- <property name="cacheMode">INVALIDATION_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-entity</property>
- <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
- slightly better (no JGroups FC) but we stick with udp to
- help ensure this cache and others like timestamps-cache
- that require FC can use the same underlying JGroups resources. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Whether or not to fetch state on joining a cluster. -->
- <property name="fetchInMemoryState">false</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- A config appropriate for entity/collection caching that uses optimistic locking. -->
- <entry><key>optimistic-entity</key>
- <value>
- <bean name="OptimisticEntityCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">OPTIMISTIC</property>
-
- <!-- Mode of communication with peer caches.
- INVALIDATION_SYNC is highly recommended as the mode for use
- with entity and collection caches. -->
- <property name="cacheMode">INVALIDATION_SYNC</property>
- <property name="useLockStriping">false</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-opt-entity</property>
- <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
- slightly better (no JGroups FC) but we stick with udp to
- help ensure this cache and others like timestamps-cache
- that require FC can use the same underlying JGroups resources. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Whether or not to fetch state on joining a cluster. -->
- <property name="fetchInMemoryState">false</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- A config appropriate for entity/collection caching that uses pessimistic locking -->
- <entry><key>pessimistic-entity</key>
- <value>
- <bean name="PessimisticEntityCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <!-- READ_COMMITTED is as strong as necessary for most
- 2nd Level Cache use cases. -->
- <property name="isolationLevel">READ_COMMITTED</property>
- <property name="useLockStriping">false</property>
-
- <!-- Mode of communication with peer caches.
- INVALIDATION_SYNC is highly recommended as the mode for use
- with entity and collection caches. -->
- <property name="cacheMode">INVALIDATION_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-entity</property>
- <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
- slightly better (no JGroups FC) but we stick with udp to
- help ensure this cache and others like timestamps-cache
- that require FC can use the same underlying JGroups resources. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Whether or not to fetch state on joining a cluster. -->
- <property name="fetchInMemoryState">false</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- Same as "mvcc-entity" but here we use REPEATABLE_READ
- instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
- application evicts/clears entities from the Hibernate Session and
- then expects to repeatably re-read them in the same transaction.
- Otherwise, the Session's internal cache provides a repeatable-read
- semantic. Before choosing this config, carefully read the docs
- and make sure you really need REPEATABLE_READ. -->
- <entry><key>mvcc-entity-repeatable</key>
- <value>
- <bean name="MVCCEntityRepeatableCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">MVCC</property>
- <!-- Here we use REPEATABLE_READ. -->
- <property name="isolationLevel">READ_COMMITTED</property>
- <property name="useLockStriping">false</property>
-
- <!-- Mode of communication with peer caches.
- INVALIDATION_SYNC is highly recommended as the mode for use
- with entity and collection caches. -->
- <property name="cacheMode">INVALIDATION_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-entity-rr</property>
- <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
- slightly better (no JGroups FC) but we stick with udp to
- help ensure this cache and others like timestamps-cache
- that require FC can use the same underlying JGroups resources. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Whether or not to fetch state on joining a cluster. -->
- <property name="fetchInMemoryState">false</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- Same as "pessimistic-entity" but here we use REPEATABLE_READ
- instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
- application evicts/clears entities from the Hibernate Session and
- then expects to repeatably re-read them in the same transaction.
- Otherwise, the Session's internal cache provides a repeatable-read
- semantic. Before choosing this config, carefully read the docs
- and make sure you really need REPEATABLE_READ.
- -->
- <entry><key>pessimistic-entity-repeatable</key>
- <value>
- <bean name="PessimisticEntityRepeatableCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <property name="isolationLevel">REPEATABLE_READ</property>
- <property name="useLockStriping">false</property>
-
- <!-- Mode of communication with peer caches.
- INVALIDATION_SYNC is highly recommended as the mode for use
- with entity and collection caches. -->
- <property name="cacheMode">INVALIDATION_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-entity-rr</property>
- <!-- Use a UDP (multicast) based stack. A udp-sync stack might be
- slightly better (no JGroups FC) but we stick with udp to
- help ensure this cache and others like timestamps-cache
- that require FC can use the same underlying JGroups resources. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Whether or not to fetch state on joining a cluster. -->
- <property name="fetchInMemoryState">false</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- A config appropriate for query caching. Does not replicate
- queries. DO NOT STORE TIMESTAMPS IN THIS CACHE. -->
- <entry><key>local-query</key>
- <value>
- <bean name="LocalQueryCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">OPTIMISTIC</property>
- <property name="useLockStriping">false</property>
-
- <!-- LOCAL means don't communicate with other caches. -->
- <property name="cacheMode">LOCAL</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- A query cache that replicates querie results. Replication is asynchronous.
- DO NOT STORE TIMESTAMPS IN THIS CACHE as no initial state transfer
- is performed. -->
- <entry><key>replicated-query</key>
- <value>
- <bean name="ReplicatedQueryCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">OPTIMISTIC</property>
- <property name="useLockStriping">false</property>
-
- <!-- Mode of communication with peer caches.
- REPL_ASYNC means replicate but sender does not block waiting for
- peers to acknowledge applying the change. Valid for queries as
- the timestamp cache mechanism will allow Hibernate to discard
- out-of-date queries. -->
- <property name="cacheMode">REPL_ASYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-query</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because timestamp communication will not require a synchronous response. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Whether or not to fetch state on joining a cluster. -->
- <property name="fetchInMemoryState">false</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- Optimized for timestamp caching. A clustered timestamp cache
- is required if query caching is used, even if the query cache
- itself is configured with CacheMode=LOCAL.
- -->
- <entry><key>timestamps-cache</key>
- <value>
- <bean name="TimestampsCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">MVCC</property>
- <!-- READ_COMMITTED is as strong as necessary -->
- <property name="isolationLevel">READ_COMMITTED</property>
- <property name="useLockStriping">false</property>
-
- <!-- Cannot be INVALIDATION. ASYNC for improved performance. -->
- <property name="cacheMode">REPL_ASYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-timestamps</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because timestamp communication will not require a synchronous response. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Used for timestamps, so must fetch state. -->
- <property name="fetchInMemoryState">true</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <!-- We should never evict timestamps, so eviction is disabled -->
-
- </bean>
- </value>
- </entry>
-
- <!-- A config appropriate for a cache that's shared for
- entity, collection, query and timestamp caching. Not an advised
- configuration, since it requires cache mode REPL_SYNC, which is the
- least efficient mode. Also requires a full state transfer at startup,
- which can be expensive. Uses mvcc locking. -->
- <entry><key>mvcc-shared</key>
- <value>
- <bean name="MVCCSharedCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">MVCC</property>
- <!-- READ_COMMITTED is as strong as necessary for most
- 2nd Level Cache use cases. -->
- <property name="isolationLevel">READ_COMMITTED</property>
- <property name="useLockStriping">false</property>
-
- <!-- Must use REPL since used for timestamp caching.
- Must use SYNC to maintain cache coherency for entities. -->
- <property name="cacheMode">REPL_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-shared</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because timestamp communication will not require a synchronous response. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Used for timestamps, so must fetch state. -->
- <property name="fetchInMemoryState">true</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- A config appropriate for a cache that's shared for
- entity, collection, query and timestamp caching. Not an advised
- configuration, since it requires cache mode REPL_SYNC, which is the
- least efficient mode. Also requires a full state transfer at startup,
- which can be expensive. Uses optimistic locking -->
- <entry><key>optimistic-shared</key>
- <value>
- <bean name="OptimisticSharedCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">OPTIMISTIC</property>
- <property name="useLockStriping">false</property>
-
- <!-- Must use REPL since used for timestamp caching.
- Must use SYNC to maintain cache coherency for entities. -->
- <property name="cacheMode">REPL_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-opt-shared</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because timestamp communication will not require a synchronous response. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Used for timestamps, so must fetch state. -->
- <property name="fetchInMemoryState">true</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- A config appropriate for a cache that's shared for
- entity, collection, query and timestamp caching. Not an advised
- configuration, since it requires cache mode REPL_SYNC, which is the
- least efficient mode. Also requires a full state transfer at startup,
- which can be expensive. Uses pessmistic locking. -->
- <entry><key>pessimistic-shared</key>
- <value>
- <bean name="PessimisticSharedCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <!-- READ_COMMITTED is as strong as necessary for most
- 2nd Level Cache use cases. -->
- <property name="isolationLevel">READ_COMMITTED</property>
- <property name="useLockStriping">false</property>
-
- <!-- Must use REPL since used for timestamp caching.
- Must use SYNC to maintain cache coherency for entities. -->
- <property name="cacheMode">REPL_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-shared</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because timestamp communication will not require a synchronous response. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Used for timestamps, so must fetch state. -->
- <property name="fetchInMemoryState">true</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- Same as "mvcc-shared" but here we use REPEATABLE_READ
- instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
- application evicts/clears entities from the Hibernate Session and
- then expects to repeatably re-read them in the same transaction.
- Otherwise, the Session's internal cache provides a repeatable-read
- semantic. Before choosing this config, carefully read the docs
- and make sure you really need REPEATABLE_READ. -->
- <entry><key>mvcc-shared-repeatable</key>
- <value>
- <bean name="MVCCSharedRepeatableCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">MVCC</property>
- <!-- READ_COMMITTED is as strong as necessary for most
- 2nd Level Cache use cases. -->
- <property name="isolationLevel">REPEATABLE_READ</property>
- <property name="useLockStriping">false</property>
-
- <!-- Must use REPL since used for timestamp caching.
- Must use SYNC to maintain cache coherency for entities. -->
- <property name="cacheMode">REPL_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-mvcc-shared-rr</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because timestamp communication will not require a synchronous response. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Used for timestamps, so must fetch state. -->
- <property name="fetchInMemoryState">true</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- <!-- Same as "pessimistic-shared" but here we use REPEATABLE_READ
- instead of READ_COMMITTED. REPEATABLE_READ is only useful if the
- application evicts/clears entities from the Hibernate Session and
- then expects to repeatably re-read them in the same transaction.
- Otherwise, the Session's internal cache provides a repeatable-read
- semantic. Before choosing this config, carefully read the docs
- and make sure you really need REPEATABLE_READ. -->
- <entry><key>pessimistic-shared-repeatable</key>
- <value>
- <bean name="PessimisticSharedRepeatableCache" class="org.jboss.cache.config.Configuration">
-
- <!-- Node locking scheme -->
- <property name="nodeLockingScheme">PESSIMISTIC</property>
- <property name="isolationLevel">REPEATABLE_READ</property>
- <property name="useLockStriping">false</property>
-
- <!-- Must use REPL since used for timestamp caching.
- Must use SYNC to maintain cache coherency for entities. -->
- <property name="cacheMode">REPL_SYNC</property>
-
- <!-- Name of cluster. Needs to be the same for all members -->
- <property name="clusterName">${jboss.partition.name:DefaultPartition}-pess-shared-rr</property>
- <!-- Use a UDP (multicast) based stack. Need JGroups flow control (FC)
- because timestamp communication will not require a synchronous response. -->
- <property name="multiplexerStack">${jboss.default.jgroups.stack:tcp}</property>
- <!-- Used for timestamps, so must fetch state. -->
- <property name="fetchInMemoryState">true</property>
-
- <!-- The max amount of time (in milliseconds) we wait until the
- state (ie. the contents of the cache) are retrieved from
- existing members at startup. Ignored if FetchInMemoryState=false. -->
- <property name="stateRetrievalTimeout">60000</property>
-
- <!-- Number of milliseconds to wait until all responses for a
- synchronous call have been received. -->
- <property name="syncReplTimeout">17500</property>
-
- <!-- Max number of milliseconds to wait for a lock acquisition -->
- <property name="lockAcquisitionTimeout">15000</property>
-
- <!-- Hibernate 2LC can replicate custom types, so we use marshalling -->
- <property name="useRegionBasedMarshalling">true</property>
- <!-- Must match the value of "useRegionBasedMarshalling" -->
- <property name="inactiveOnStartup">true</property>
-
- <!-- Disable asynchronous RPC marshalling/sending -->
- <property name="serializationExecutorPoolSize">0</property>
- <!-- We have no asynchronous notification listeners -->
- <property name="listenerAsyncPoolSize">0</property>
-
- <property name="evictionConfig">
- <bean class="org.jboss.cache.config.EvictionConfig">
- <property name="wakeupInterval">5000</property>
- <!-- Overall default -->
- <property name="defaultEvictionRegionConfig">
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
- <!-- Evict LRU node once we have more than this number of nodes -->
- <property name="maxNodes">10000</property>
- <!-- And, evict any node that hasn't been accessed in this many seconds -->
- <property name="timeToLiveSeconds">1000</property>
- <!-- Don't evict a node that's been accessed within this many seconds.
- Set this to a value greater than your max expected transaction length. -->
- <property name="minTimeToLiveSeconds">120</property>
- </bean>
- </property>
- </bean>
- </property>
- <property name="evictionRegionConfigs">
- <list>
- <!-- Don't ever evict modification timestamps -->
- <bean class="org.jboss.cache.config.EvictionRegionConfig">
- <property name="regionName">/TS</property>
- <property name="evictionAlgorithmConfig">
- <bean class="org.jboss.cache.eviction.NullEvictionAlgorithmConfig"/>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- </property>
- </bean>
- </value>
- </entry>
-
- </map>
- </property>
- </bean>
-
-</deployment>
\ No newline at end of file
Deleted: branches/Branch_No_Multicast/cluster/src/resources/jgroups/jgroups-channelfactory-stacks-ec.xml
===================================================================
--- branches/Branch_No_Multicast/cluster/src/resources/jgroups/jgroups-channelfactory-stacks-ec.xml 2010-06-17 22:42:51 UTC (rev 106142)
+++ branches/Branch_No_Multicast/cluster/src/resources/jgroups/jgroups-channelfactory-stacks-ec.xml 2010-06-17 22:51:00 UTC (rev 106143)
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE protocol_stacks [
- <!ENTITY shared-tcp '
- <!-- TCP transport config meant to be shared between different channels
- with different requirements. Message bundling is disabled in this
- general-purpose config as it can add latency to synchronous RPCs. -->
-
- <TCP
- singleton_name="tcp"
- start_port="${jboss.jgroups.tcp.tcp_port:7600}"
- tcp_nodelay="true"
- loopback="true"
- recv_buf_size="20000000"
- send_buf_size="640000"
- discard_incompatible_packets="true"
- max_bundle_size="64000"
- max_bundle_timeout="30"
- use_incoming_packet_handler="true"
- enable_bundling="false"
- use_send_queues="false"
- sock_conn_timeout="300"
- skip_suspected_members="true"
- timer.num_threads="12"
- enable_diagnostics="${jboss.jgroups.enable_diagnostics:true}"
- diagnostics_addr="${jboss.jgroups.diagnostics_addr:224.0.75.75}"
- diagnostics_port="${jboss.jgroups.diagnostics_port:7500}"
-
- thread_pool.enabled="true"
- thread_pool.min_threads="20"
- thread_pool.max_threads="200"
- thread_pool.keep_alive_time="5000"
- thread_pool.queue_enabled="true"
- thread_pool.queue_max_size="1000"
- thread_pool.rejection_policy="discard"
-
- oob_thread_pool.enabled="true"
- oob_thread_pool.min_threads="20"
- oob_thread_pool.max_threads="200"
- oob_thread_pool.keep_alive_time="1000"
- oob_thread_pool.queue_enabled="false"
- oob_thread_pool.rejection_policy="discard"/>
- '>
-]>
-
-
-<!--
- Standard JGroups protocol stacks definitions, used by the JChannelFactory bean.
-
- Author: Bela Ban, Brian Stansberry
- Version: $Id:jgroups-channelfactory-stacks.xml 71313 2008-03-26 19:46:59Z bstansberry at jboss.com $
--->
-<protocol_stacks>
-
- <stack name="tcp"
- description="TCP based stack, with flow control and message bundling.
- TCP stacks are usually used when IP multicasting cannot
- be used in a network, e.g. because it is disabled (e.g.
- routers discard multicast)">
- <config>
- &shared-tcp;
- <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
- <MERGE2 max_interval="100000" min_interval="20000"/>
- <FD_SOCK start_port="${jboss.jgroups.tcp.fd_sock_port:57600}"/>
- <FD timeout="6000" max_tries="5" shun="true"/>
- <VERIFY_SUSPECT timeout="1500"/>
- <BARRIER/>
- <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
- retransmit_timeout="300,600,1200,2400,4800"
- discard_delivered_msgs="true"/>
- <UNICAST timeout="300,600,1200,2400,3600"/>
- <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
- max_bytes="400000"/>
- <VIEW_SYNC avg_send_interval="10000"/>
- <pbcast.GMS print_local_addr="true" join_timeout="3000"
- shun="true"
- view_bundling="true"
- view_ack_collection_timeout="5000"
- resume_task_timeout="7500"/>
- <FC max_credits="2000000" min_threshold="0.10"
- ignore_synchronous_response="true"/>
- <FRAG2 frag_size="60000"/>
- <!-- pbcast.STREAMING_STATE_TRANSFER/ -->
- <pbcast.STATE_TRANSFER/>
- <pbcast.FLUSH timeout="0" start_flush_timeout="10000"/>
- </config>
- </stack>
-
-
- <stack name="tcp-sync"
- description="TCP based stack, without flow control and without
- message bundling. TCP stacks are usually used when IP
- multicasting cannot be used in a network (e.g.routers
- discard multicast). This configuration should be used
- instead of 'tcp' above when (1) synchronous calls are
- used and (2) the message volume (rate and size) is not
- that large.">
- <config>
- <TCP
- singleton_name="tcp_sync"
- start_port="${jboss.jgroups.tcp_sync.tcp_port:7650}"
- tcp_nodelay="true"
- loopback="true"
- recv_buf_size="20000000"
- send_buf_size="640000"
- discard_incompatible_packets="true"
- enable_bundling="false"
- use_send_queues="false"
- sock_conn_timeout="300"
- skip_suspected_members="true"
- enable_diagnostics="${jboss.jgroups.enable_diagnostics:true}"
- diagnostics_addr="${jboss.jgroups.diagnostics_addr:224.0.75.75}"
- diagnostics_port="${jboss.jgroups.diagnostics_port:7500}"
-
- thread_pool.enabled="true"
- thread_pool.min_threads="8"
- thread_pool.max_threads="200"
- thread_pool.keep_alive_time="5000"
- thread_pool.queue_enabled="true"
- thread_pool.queue_max_size="1000"
- thread_pool.rejection_policy="discard"
-
- oob_thread_pool.enabled="true"
- oob_thread_pool.min_threads="20"
- oob_thread_pool.max_threads="200"
- oob_thread_pool.keep_alive_time="1000"
- oob_thread_pool.queue_enabled="false"
- oob_thread_pool.rejection_policy="discard"/>
- <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
- <MERGE2 max_interval="100000" min_interval="20000"/>
- <FD_SOCK start_port="${jboss.jgroups.tcp_sync.fd_sock_port:57650}"/>
- <FD timeout="6000" max_tries="5" shun="true"/>
- <VERIFY_SUSPECT timeout="1500"/>
- <BARRIER/>
- <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
- retransmit_timeout="300,600,1200,2400,4800"
- discard_delivered_msgs="true"/>
- <UNICAST timeout="300,600,1200,2400,3600"/>
- <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
- max_bytes="400000"/>
- <VIEW_SYNC avg_send_interval="10000"/>
- <pbcast.GMS print_local_addr="true" join_timeout="3000"
- shun="true"
- view_bundling="true"
- view_ack_collection_timeout="5000"
- resume_task_timeout="7500"/>
- <!-- pbcast.STREAMING_STATE_TRANSFER/ -->
- <pbcast.STATE_TRANSFER/>
- <pbcast.FLUSH timeout="0" start_flush_timeout="10000"/>
- </config>
- </stack>
-
- <stack name="jbm-control"
- description="Stack optimized for the JBoss Messaging Control Channel">
- <config>
- <!-- By default we use the same TCP transport protocol config as is
- used for the default 'tcp' stack defined above. This allows
- the JBoss Messaging Control Channel to use the same sockets,
- network buffers and thread pools as are used by the other
- standard JBoss AS clustered services.
-
- The TCP config is included via an XML entity to ensure that
- it remains consistent between this stack and the 'tcp'
- stack above.
- -->
- &shared-tcp;
- <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
- <MERGE2 max_interval="100000"
- min_interval="20000"/>
- <FD_SOCK start_port="${jboss.jgroups.jbm_control.fd_sock_port:53200}"/>
- <FD timeout="6000" max_tries="5" shun="true"/>
- <VERIFY_SUSPECT timeout="1500" />
- <BARRIER />
- <pbcast.NAKACK use_stats_for_retransmission="false"
- exponential_backoff="150"
- use_mcast_xmit="true" gc_lag="0"
- retransmit_timeout="50,300,600,1200"
- discard_delivered_msgs="true"/>
- <UNICAST timeout="300,600,1200,2400,3600"/>
- <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
- max_bytes="400000"/>
- <VIEW_SYNC avg_send_interval="10000"/>
- <pbcast.GMS print_local_addr="true" join_timeout="3000"
- shun="true"
- view_bundling="true"/>
- <FC max_credits="500000" min_threshold="0.20"
- ignore_synchronous_response="true"/>
- <FRAG2 frag_size="60000" />
- <pbcast.STATE_TRANSFER/>
- <pbcast.FLUSH timeout="20000" start_flush_timeout="10000"/>
- </config>
- </stack>
-
-
- <stack name="jbm-data"
- description="Stack optimized for the JBoss Messaging Data Channel">
- <config>
- <TCP singleton_name="jbm-data"
- start_port="${jboss.messaging.datachanneltcpport,jboss.jgroups.jbm_data.tcp_port:7900}"
- loopback="true"
- recv_buf_size="20000000"
- send_buf_size="640000"
- discard_incompatible_packets="true"
- enable_bundling="false"
- use_send_queues="false"
- sock_conn_timeout="300"
- skip_suspected_members="true"
- enable_diagnostics="${jboss.jgroups.enable_diagnostics:true}"
- diagnostics_addr="${jboss.jgroups.diagnostics_addr:224.0.75.75}"
- diagnostics_port="${jboss.jgroups.diagnostics_port:7500}"
-
- thread_pool.enabled="true"
- thread_pool.min_threads="8"
- thread_pool.max_threads="200"
- thread_pool.keep_alive_time="5000"
- thread_pool.queue_enabled="true"
- thread_pool.queue_max_size="500"
- thread_pool.rejection_policy="discard"
-
- oob_thread_pool.enabled="true"
- oob_thread_pool.min_threads="1"
- oob_thread_pool.max_threads="100"
- oob_thread_pool.keep_alive_time="5000"
- oob_thread_pool.queue_enabled="false"
- oob_thread_pool.rejection_policy="discard"/>
- <S3_PING access_key="${jboss.jgroups.s3_ping.access_key:}" secret_access_key="${jboss.jgroups.s3_ping.secret_access_key:}" location="${jboss.jgroups.s3_ping.bucket:}" />
- <MERGE2 max_interval="100000" min_interval="20000"/>
- <FD_SOCK start_port="${jboss.jgroups.jbm_data.fd_sock_port:57900}"/>
- <FD timeout="6000" max_tries="5" shun="true"/>
- <VERIFY_SUSPECT timeout="1500"/>
- <BARRIER/>
- <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
- retransmit_timeout="300,600,1200,2400,4800"
- discard_delivered_msgs="true"/>
- <UNICAST timeout="300,600,1200,2400,3600"/>
- <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
- max_bytes="400000"/>
- <VIEW_SYNC avg_send_interval="10000"/>
-
- <pbcast.GMS print_local_addr="true" join_timeout="3000"
- shun="true" view_bundling="true"/>
- </config>
- </stack>
-
-</protocol_stacks>
-
-
More information about the jboss-cvs-commits
mailing list