Author: manik.surtani(a)jboss.com
Date: 2009-01-26 06:58:54 -0500 (Mon, 26 Jan 2009)
New Revision: 7596
Added:
core/branches/flat/src/main/resources/schema/horizon-config-1.0.xsd
Removed:
core/branches/flat/src/main/resources/schema/starobrno-config-1.0.xsd
core/branches/flat/src/main/resources/schema/starobrno-registry-1.0.xsd
core/branches/flat/src/test/resources/configs/parser-test-async.xml
core/branches/flat/src/test/resources/configs/parser-test.xml
Modified:
core/branches/flat/src/main/java/org/horizon/config/parsing/RootElementBuilder.java
core/branches/flat/src/main/resources/config-samples/all.xml
core/branches/flat/src/test/resources/configs/named-cache-test.xml
core/branches/flat/src/test/resources/configs/string-property-replaced.xml
Log:
Updated schema and sample XML
Modified:
core/branches/flat/src/main/java/org/horizon/config/parsing/RootElementBuilder.java
===================================================================
---
core/branches/flat/src/main/java/org/horizon/config/parsing/RootElementBuilder.java 2009-01-26
10:49:29 UTC (rev 7595)
+++
core/branches/flat/src/main/java/org/horizon/config/parsing/RootElementBuilder.java 2009-01-26
11:58:54 UTC (rev 7596)
@@ -51,7 +51,7 @@
static {
// Globally register this namespace
- JBossEntityResolver.registerEntity(JBOSSCACHE_CORE_NS,
"starobrno-config-1.0.xsd");
+ JBossEntityResolver.registerEntity(JBOSSCACHE_CORE_NS,
"horizon-config-1.0.xsd");
JBossEntityResolver.registerEntity(JBOSSCACHE_REPO_NS,
"starobrno-registry-1.0.xsd");
}
Modified: core/branches/flat/src/main/resources/config-samples/all.xml
===================================================================
--- core/branches/flat/src/main/resources/config-samples/all.xml 2009-01-26 10:49:29 UTC
(rev 7595)
+++ core/branches/flat/src/main/resources/config-samples/all.xml 2009-01-26 11:58:54 UTC
(rev 7596)
@@ -1,226 +1,185 @@
<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:starobrno-core:config:1.0">
+<horizon
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:horizon:config:1.0">
+ <!-- *************************** -->
+ <!-- System-wide global settings -->
+ <!-- *************************** -->
- <!--
- isolation levels supported: READ_COMMITTED and REPEATABLE_READ
- nodeLockingSchemes: mvcc, pessimistic (deprecated), optimistic (deprecated)
- -->
- <locking
+ <global>
+
+ <!-- Note that if these are left blank, defaults are used. See the user guide
for what these defaults are -->
+ <asyncListenerExecutor
factory="org.horizon.executors.DefaultExecutorFactory">
+ <property name="maxThreads">5</property>
+ <property
name="threadNamePrefix">AsyncListenerThread</property>
+ </asyncListenerExecutor>
+
+ <asyncSerializationExecutor
factory="org.horizon.executors.DefaultExecutorFactory">
+ <property name="maxThreads">25</property>
+ <property
name="threadNamePrefix">AsyncSerializationThread</property>
+ </asyncSerializationExecutor>
+
+ <evictionScheduledExecutor
factory="org.horizon.executors.DefaultScheduledExecutorFactory">
+ <property
name="threadNamePrefix">EvictionThread</property>
+ </evictionScheduledExecutor>
+
+ <replicationQueueScheduledExecutor
factory="org.horizon.executors.DefaultScheduledExecutorFactory">
+ <property
name="threadNamePrefix">ReplicationQueueThread</property>
+ </replicationQueueScheduledExecutor>
+
+
+ <!--
+ If the transport is omitted, there is no way to create distributed or clustered
caches.
+ There is no added cost to defining a transport but not creating a cache that
uses one, since the transport
+ is created and initialized lazily.
+ -->
+ <transport
transportClass="org.horizon.remoting.transport.jgroups.JGroupsTransport">
+ <!-- Note that the JGroups transport uses sensible defaults if no
configuration property is defined. -->
+ <property name="configurationFile">udp.xml</property>
+ <!-- See the JGroupsTransport javadocs for more options -->
+ </transport>
+
+ <!-- Again, sensible defaults are used here if this is omitted. -->
+ <serialization
marshallerClass="org.horizon.marshall.CacheMarshallerStarobrno"
version="1.0"
+ objectInputStreamPoolSize="100"
objectOutputStreamPoolSize="100"/>
+
+ <!--
+ Used to register JVM shutdown hooks.
+ hookBehavior: DEFAULT, REGISTER, DONT_REGISTER
+ -->
+ <shutdown hookBehavior="DEFAULT"/>
+ </global>
+
+ <!-- *************************** -->
+ <!-- Default "template" settings -->
+ <!-- *************************** -->
+ <!-- this is used as a "template" configuration for all caches in the
system. -->
+ <default>
+ <!--
+ isolation levels supported: READ_COMMITTED and REPEATABLE_READ
+ -->
+ <locking
isolationLevel="REPEATABLE_READ"
- lockParentForChildInsertRemove="false"
lockAcquisitionTimeout="20000"
writeSkewCheck="false"
concurrencyLevel="500"/>
- <!--
- Used to register a transaction manager and participate in ongoing transactions.
- -->
- <transaction
+ <!--
+ Used to register a transaction manager and participate in ongoing transactions.
+ -->
+ <transaction
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"
syncRollbackPhase="false"
syncCommitPhase="false"/>
- <!--
- Used to register JMX statistics in any available MBean server
- -->
- <jmxStatistics
- enabled="false"/>
+ <!--
+ Used to register JMX statistics in any available MBean server
+ -->
+ <jmxStatistics enabled="false"/>
- <!--
- If region based marshalling is used, defines whether new regions are inactive on
startup.
- -->
- <startup
- regionsInactiveOnStartup="true"/>
+ <!--
+ Used to enable invocation batching and allow the use of
Cache.startBatch()/endBatch() methods.
+ -->
+ <invocationBatching enabled="false"/>
- <!--
- Used to register JVM shutdown hooks.
- hookBehavior: DEFAULT, REGISTER, DONT_REGISTER
- -->
- <shutdown
- hookBehavior="DEFAULT"/>
+ <!--
+ This element specifies that the cache is clustered.
+ modes supported: replication (r) or invalidation (i).
+ -->
+ <clustering mode="replication"
clusterName="JBossCache-cluster">
- <!--
- Used to define async listener notification thread pool size
- -->
- <listeners
- asyncPoolSize="1"
- asyncQueueSize="1000000"/>
+ <!--
+ Defines whether to retrieve state on startup
+ -->
+ <stateRetrieval timeout="20000"
fetchInMemoryState="false"/>
- <!--
- Used to enable invocation batching and allow the use of
Cache.startBatch()/endBatch() methods.
- -->
- <invocationBatching
- enabled="false"/>
+ <!--
+ Network calls are synchronous.
+ -->
+ <sync replTimeout="20000"/>
+ <!--
+ Uncomment this for async replication.
+ -->
+ <!--<async useReplQueue="true"
replQueueInterval="10000" replQueueMaxElements="500"
serializationExecutorPoolSize="20"
serializationExecutorQueueSize="5000000"/>-->
+ </clustering>
+ </default>
- <!--
- serialization related configuration, used for replication and cache loading
- -->
- <serialization
- objectInputStreamPoolSize="12"
- objectOutputStreamPoolSize="14"
- version="3.0.0"
- marshallerClass="org.jboss.cache.marshall.VersionAwareMarshaller"
- useLazyDeserialization="false"
- useRegionBasedMarshalling="false"/>
+ <!-- ************************************** -->
+ <!-- Individually configured "named" caches -->
+ <!-- ************************************** -->
- <!--
- This element specifies that the cache is clustered.
- modes supported: replication (r) or invalidation (i).
- -->
- <clustering mode="replication"
clusterName="JBossCache-cluster">
+ <!-- Note that any of the elements appearing in a namedCache section can also
appear in the default section as a template. -->
+ <namedCache name="evictionCache">
- <!--
- Defines whether to retrieve state on startup
- -->
- <stateRetrieval timeout="20000"
fetchInMemoryState="false"/>
+ <!--
+ Eviction configuration. WakeupInterval defines how often the eviction thread
runs, in milliseconds. 0 means
+ the eviction thread will never run. A separate executor is used for eviction in
each cache.
+ -->
+ <eviction wakeUpInterval="500"
algorithmClass="org.horizon.eviction.LRUAlgorithm"
eventQueueSize="200000">
+ <property name="maxNodes" value="5000"/>
+ <property name="timeToLive" value="1000"/>
+ </eviction>
- <!--
- Network calls are synchronous.
- -->
- <sync replTimeout="20000"/>
- <!--
- Uncomment this for async replication.
- -->
- <!--<async useReplQueue="true"
replQueueInterval="10000" replQueueMaxElements="500"
serializationExecutorPoolSize="20"
serializationExecutorQueueSize="5000000"/>-->
+ </namedCache>
- <!-- Uncomment to use Buddy Replication -->
- <!--
- <buddy enabled="true"
poolName="myBuddyPoolReplicationGroup"
communicationTimeout="2000">
- <dataGravitation auto="true" removeOnFind="true"
searchBackupTrees="true"/>
- <locator
class="org.jboss.cache.buddyreplication.NextMemberBuddyLocator">
- <properties>
- numBuddies = 1
- ignoreColocatedBuddies = true
- </properties>
- </locator>
- </buddy>
- -->
- <!--
- Configures the JGroups channel. Looks up a JGroups config file on the
classpath or filesystem. udp.xml
- ships with jgroups.jar and will be picked up by the class loader.
- -->
- <jgroupsConfig>
+ <namedCache name="jdbcBackedCache">
+ <!--
+ Cache loaders.
- <UDP discard_incompatible_packets="true"
enable_bundling="false" enable_diagnostics="false"
ip_ttl="2"
- loopback="false" max_bundle_size="64000"
max_bundle_timeout="30" mcast_addr="228.10.10.10"
- mcast_port="45588" mcast_recv_buf_size="25000000"
mcast_send_buf_size="640000"
- oob_thread_pool.enabled="true"
oob_thread_pool.keep_alive_time="10000"
oob_thread_pool.max_threads="4"
- oob_thread_pool.min_threads="1"
oob_thread_pool.queue_enabled="true"
- oob_thread_pool.queue_max_size="10"
- oob_thread_pool.rejection_policy="Run"
thread_naming_pattern="pl" thread_pool.enabled="true"
- thread_pool.keep_alive_time="30000"
thread_pool.max_threads="25" thread_pool.min_threads="1"
- thread_pool.queue_enabled="true"
thread_pool.queue_max_size="10" thread_pool.rejection_policy="Run"
- tos="8" ucast_recv_buf_size="20000000"
ucast_send_buf_size="640000" use_concurrent_stack="true"
- use_incoming_packet_handler="true"/>
- <PING num_initial_members="3" timeout="2000"/>
- <MERGE2 max_interval="30000"
min_interval="10000"/>
- <FD_SOCK/>
- <FD max_tries="5" shun="true"
timeout="10000"/>
- <VERIFY_SUSPECT timeout="1500"/>
- <pbcast.NAKACK discard_delivered_msgs="true"
gc_lag="0" retransmit_timeout="300,600,1200,2400,4800"
- use_mcast_xmit="false"/>
- <UNICAST timeout="300,600,1200,2400,3600"/>
- <pbcast.STABLE desired_avg_gossip="50000"
max_bytes="400000" stability_delay="1000"/>
- <pbcast.GMS join_timeout="5000"
print_local_addr="true" shun="false"
view_ack_collection_timeout="5000"
- view_bundling="true"/>
- <FRAG2 frag_size="60000"/>
- <pbcast.STREAMING_STATE_TRANSFER/>
- <pbcast.FLUSH timeout="0"/>
+ If passivation is enabled, state is offloaded to the cache loaders ONLY when
evicted. Similarly, when the state
+ is accessed again, it is removed from the cache loader and loaded into
memory.
- </jgroupsConfig>
- </clustering>
+ Otherwise, state is always maintained in the cache loader as well as in
memory.
- <!--
- Eviction configuration. WakeupInterval defines how often the eviction thread
runs, in milliseconds. 0 means
- the eviction thread will never run.
- -->
- <eviction wakeUpInterval="500">
- <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm"
eventQueueSize="200000">
- <property name="maxNodes" value="5000"/>
- <property name="timeToLive" value="1000"/>
- </default>
- <region name="/org/jboss/data1">
- <property name="timeToLive" value="2000"/>
- </region>
- <region name="/org/jboss/data2"
algorithmClass="org.jboss.cache.eviction.FIFOAlgorithm"
eventQueueSize="100000">
- <property name="maxNodes" value="3000"/>
- <property name="minTimeToLive" value="4000"/>
- </region>
- </eviction>
+ Set 'shared' to true if all instances in the cluster use the same
cache loader instance, e.g., are talking to the
+ same database.
- <!--
- Cache loaders.
+ If "preload" is true, all keys are loaded from the cache loader
into memory upon starting the cache.
+ -->
+ <loaders passivation="false" shared="false"
preload="true">
- If passivation is enabled, state is offloaded to the cache loaders ONLY when
evicted. Similarly, when the state
- is accessed again, it is removed from the cache loader and loaded into memory.
+ <!--
+ We can have multiple cache loaders, which get chained
+ -->
+ <loader class="org.horizon.loader.JDBCCacheLoader"
async="true" fetchPersistentState="true"
+ ignoreModifications="true"
purgeOnStartup="true">
- Otherwise, state is always maintained in the cache loader as well as in memory.
-
- Set 'shared' to true if all instances in the cluster use the same cache
loader instance, e.g., are talking to the
- same database.
- -->
- <loaders passivation="false" shared="false">
- <preload>
- <node fqn="/org/jboss"/>
- <node fqn="/org/tempdata"/>
- </preload>
-
- <!--
- we can have multiple cache loaders, which get chained
- -->
- <loader class="org.jboss.cache.loader.JDBCCacheLoader"
async="true" fetchPersistentState="true"
- ignoreModifications="true" purgeOnStartup="true">
-
+ <!-- See the documentation for more configuration examples and options.
-->
<properties>
- cache.jdbc.table.name=jbosscache
- cache.jdbc.table.create=true
- cache.jdbc.table.drop=true
- cache.jdbc.table.primarykey=jbosscache_pk
- cache.jdbc.fqn.column=fqn
- cache.jdbc.fqn.type=varchar(255)
- cache.jdbc.node.column=node
- cache.jdbc.node.type=blob
- cache.jdbc.parent.column=parent
- cache.jdbc.sql-concat=1 || 2
- cache.jdbc.driver = org.apache.derby.jdbc.EmbeddedDriver
- cache.jdbc.url=jdbc:derby:jbossdb;create=true
- cache.jdbc.user=user1
- cache.jdbc.password=user1
+ horizon.jdbc.datasource=HorizonDS
+ horizon.jdbc.table.name=horizon
+ horizon.jdbc.table.create=true
+ horizon.jdbc.table.drop=false
</properties>
- <!-- alternatively use a connection from a datasorce, as per the code
sample below-->
- <!--<properties>-->
- <!--cache.jdbc.datasource=AllSampleDS-->
- <!--cache.jdbc.table.name=jbosscache-->
- <!--cache.jdbc.table.create=true-->
- <!--cache.jdbc.table.drop=true-->
- <!--</properties>-->
+
<singletonStore enabled="true"
class="org.horizon.loader.SingletonStoreCacheLoader">
- <properties>
- pushStateWhenCoordinator=true
- pushStateWhenCoordinatorTimeout=20000
- </properties>
+ <properties>
+ horizon.singletonStore.pushStateWhenCoordinator=true
+ horizon.singletonStore.pushStateWhenCoordinatorTimeout=20000
+ </properties>
</singletonStore>
- </loader>
- </loaders>
+ </loader>
+ </loaders>
- <!--
- Define custom interceptors. All custom interceptors need to extend
org.jboss.cache.interceptors.base.CommandInterceptor
- -->
- <!--
- <customInterceptors>
- <interceptor position="first"
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor">
- <property name="attrOne" value="value1" />
- <property name="attrTwo" value="value2" />
- </interceptor>
- <interceptor position="last"
class="org.jboss.cache.config.parsing.custominterceptors.BbbCustomInterceptor"/>
- <interceptor index="3"
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor"/>
- <interceptor before="org.jboss.cache.interceptors.CallInterceptor"
-
class="org.jboss.cache.config.parsing.custominterceptors.BbbCustomInterceptor"/>
- <interceptor after="org.jboss.cache.interceptors.CallInterceptor"
-
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor"/>
- </customInterceptors>
- -->
-</jbosscache>
+ </namedCache>
+
+
+ <namedCache name="cacheWithCustomInterceptors">
+ <!--
+ Define custom interceptors. All custom interceptors need to extend
org.jboss.cache.interceptors.base.CommandInterceptor
+ -->
+ <!--
+ <customInterceptors>
+ <interceptor position="first"
class="com.mycompany.CustomInterceptor1">
+ <property name="com.mycompany.attributeOne"
value="value1" />
+ <property name="com.mycompany.attributeTwo"
value="value2" />
+ </interceptor>
+ <interceptor position="last"
class="com.mycompany.CustomInterceptor2"/>
+ <interceptor index="3"
class="com.mycompany.CustomInterceptor1"/>
+ <interceptor before="org.horizon.interceptors.CallInterceptor"
class="com.mycompany.CustomInterceptor2"/>
+ <interceptor after="org.horizon.interceptors.CallInterceptor"
class="com.mycompany.CustomInterceptor1"/>
+ </customInterceptors>
+ -->
+ </namedCache>
+</horizon>
Copied: core/branches/flat/src/main/resources/schema/horizon-config-1.0.xsd (from rev
7593, core/branches/flat/src/main/resources/schema/starobrno-config-1.0.xsd)
===================================================================
--- core/branches/flat/src/main/resources/schema/horizon-config-1.0.xsd
(rev 0)
+++ core/branches/flat/src/main/resources/schema/horizon-config-1.0.xsd 2009-01-26
11:58:54 UTC (rev 7596)
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
+ xmlns:tns="urn:horizon:config:1.0"
targetNamespace="urn:horizon:config:1.0"
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
+
+ <xs:element name="horizon"
type="tns:cacheManagerConfigurationType"/>
+
+ <xs:complexType name="cacheManagerConfigurationType">
+ <xs:sequence>
+ <xs:element name="global"
type="tns:globalCacheConfigurationType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="default"
type="tns:cacheConfigurationType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="namedCache"
type="tns:cacheConfigurationType" maxOccurs="unbounded"
minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="globalCacheConfigurationType">
+ <xs:all>
+ <xs:element name="serialization"
type="tns:sharedSerializationType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="transport"
type="tns:transportConfigType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="asyncListenerExecutor"
type="tns:executorConfigurationType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="asyncSerializationExecutor"
type="tns:executorConfigurationType" minOccurs="0"
+ maxOccurs="1"/>
+ <xs:element name="evictionScheduledExecutor"
type="tns:executorConfigurationType" minOccurs="0"
+ maxOccurs="1"/>
+ <xs:element name="replicationQueueScheduledExecutor"
type="tns:executorConfigurationType" minOccurs="0"
+ maxOccurs="1"/>
+ <xs:element name="shutdown" type="tns:shutdownType"
minOccurs="0" maxOccurs="1"/>
+ </xs:all>
+ </xs:complexType>
+
+ <xs:complexType name="sharedSerializationType">
+ <xs:attribute name="objectInputStreamPoolSize"
type="tns:positiveInteger"/>
+ <xs:attribute name="objectOutputStreamPoolSize"
type="tns:positiveInteger"/>
+ <xs:attribute name="version" type="xs:string"/>
+ <xs:attribute name="marshallerClass" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="executorConfigurationType">
+ <xs:sequence>
+ <xs:element name="property" minOccurs="0"
maxOccurs="unbounded" type="tns:propertyType"/>
+ </xs:sequence>
+ <xs:attribute name="factory" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="cacheConfigurationType">
+ <xs:all>
+ <xs:element name="locking" type="tns:lockingType"
minOccurs="0" maxOccurs="1"/>
+ <xs:element name="transaction" type="tns:transactionType"
minOccurs="0" maxOccurs="1"/>
+ <xs:element name="jmxStatistics"
type="tns:jmxStatisticsType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="invocationBatching"
type="tns:invocationBatchingType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="eviction" type="tns:evictionType"
minOccurs="0" maxOccurs="1"/>
+ <xs:element name="loaders" type="tns:loadersType"
minOccurs="0" maxOccurs="1"/>
+ <xs:element name="customInterceptors"
type="tns:customInterceptorsType" minOccurs="0"
maxOccurs="1"/>
+ <xs:element name="clustering" type="tns:clusteringType"
minOccurs="0" maxOccurs="1"/>
+ </xs:all>
+ <xs:attribute name="name" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="clusteringType">
+ <xs:all>
+ <xs:element name="sync" type="tns:syncType"
minOccurs="0" maxOccurs="1"/>
+ <xs:element name="async" type="tns:asyncType"
minOccurs="0" maxOccurs="1"/>
+ <xs:element name="stateRetrieval"
type="tns:stateRetrievalType" minOccurs="0"
maxOccurs="1"/>
+ </xs:all>
+ <xs:attribute name="mode">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern
+
value="[Rr][Ee][Pp][Ll][Ii][Cc][Aa][Tt][Ii][Oo][Nn]|[Ii][Nn][Vv][Aa][Ll][Ii][Dd][Aa][Tt][Ii][Oo][Nn]|[Rr]|[Ii]|\$\{.*\}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="clusterName" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="lockingType">
+ <xs:attribute name="isolationLevel">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern
+
value="[Ss][Ee][Rr][Ii][Aa][Ll][Ii][Zz][Aa][Bb][Ll][Ee]|[Rr][Ee][Pp][Ee][Aa][Tt][Aa][Bb][Ll][Ee]_[Rr][Ee][Aa][Dd]|[Rr][Ee][Aa][Dd]_[Cc][Oo][Mm][Mm][Ii][Tt][Tt][Ee][Dd]|[Nn][Oo][Nn][Ee]|\$\{.*\}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="lockAcquisitionTimeout"
type="tns:positiveInteger"/>
+ <xs:attribute name="writeSkewCheck"
type="tns:booleanType"/>
+ <xs:attribute name="concurrencyLevel"
type="xs:integer"/>
+ </xs:complexType>
+
+ <xs:complexType name="transactionType">
+ <xs:attribute name="transactionManagerLookupClass"
type="xs:string"/>
+ <xs:attribute name="syncRollbackPhase"
type="tns:booleanType"/>
+ <xs:attribute name="syncCommitPhase"
type="tns:booleanType"/>
+ </xs:complexType>
+
+ <xs:complexType name="stateRetrievalType">
+ <xs:attribute name="fetchInMemoryState"
type="tns:booleanType"/>
+ <xs:attribute name="timeout"
type="tns:positiveInteger"/>
+ </xs:complexType>
+
+ <xs:complexType name="shutdownType">
+ <xs:attribute name="hookBehavior">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern
+
value="[Dd][Ee][Ff][Aa][Uu][Ll][Tt]|[Rr][Ee][Gg][Ii][Ss][Tt][Ee][Rr]|[Dd][Oo][Nn][Tt]_[Rr][Ee][Gg][Ii][Ss][Tt][Ee][Rr]|\$\{.*\}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="serializationType">
+ <xs:attribute name="useLazyDeserialization"
type="tns:booleanType"/>
+ </xs:complexType>
+
+ <xs:simpleType name="booleanType">
+ <xs:restriction base="xs:string">
+ <xs:pattern
value="\$\{.*\}|[Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee]"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="positiveInteger">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\$\{.*\}|\+?[0-9]*"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="jmxStatisticsType">
+ <xs:attribute name="enabled" type="tns:booleanType"/>
+ </xs:complexType>
+
+ <xs:complexType name="invocationBatchingType">
+ <xs:attribute name="enabled" type="tns:booleanType"/>
+ </xs:complexType>
+
+ <xs:complexType name="transportConfigType">
+ <xs:sequence>
+ <xs:element name="property" minOccurs="0"
maxOccurs="unbounded" type="tns:propertyType"/>
+ </xs:sequence>
+ <xs:attribute name="transportClass" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="syncType">
+ <xs:attribute name="replTimeout"
type="tns:positiveInteger"/>
+ </xs:complexType>
+
+ <xs:complexType name="asyncType">
+ <xs:attribute name="useReplQueue"
type="tns:booleanType"/>
+ <xs:attribute name="replQueueInterval"
type="tns:positiveInteger"/>
+ <xs:attribute name="replQueueMaxElements"
type="tns:positiveInteger"/>
+ <xs:attribute name="useAsyncSerialization"
type="tns:booleanType"/>
+ </xs:complexType>
+
+ <xs:complexType name="evictionType">
+ <xs:sequence>
+ <xs:element name="property" minOccurs="0"
maxOccurs="unbounded" type="tns:propertyType"/>
+ </xs:sequence>
+ <xs:attribute name="wakeUpInterval"
type="tns:positiveInteger" use="required"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="algorithmClass" type="xs:string"/>
+ <xs:attribute name="actionPolicyClass"
type="xs:string"/>
+ <xs:attribute name="eventQueueSize"
type="tns:positiveInteger"/>
+
+ </xs:complexType>
+
+ <xs:complexType name="loadersType">
+ <xs:sequence>
+ <xs:element name="loader" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:all>
+ <xs:element name="properties"/>
+ <xs:element name="singletonStore" minOccurs="0"
maxOccurs="1">
+ <xs:complexType>
+ <xs:all>
+ <xs:element name="properties"
type="xs:string" minOccurs="0" maxOccurs="1"/>
+ </xs:all>
+ <xs:attribute name="enabled"
type="tns:booleanType"/>
+ <xs:attribute name="class"
type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ <xs:attribute name="class" type="xs:string"/>
+ <xs:attribute name="async"
type="tns:booleanType"/>
+ <xs:attribute name="fetchPersistentState"
type="tns:booleanType"/>
+ <xs:attribute name="ignoreModifications"
type="tns:booleanType"/>
+ <xs:attribute name="purgeOnStartup"
type="tns:booleanType"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="preload" type="tns:booleanType"/>
+ <xs:attribute name="passivation"
type="tns:booleanType"/>
+ <xs:attribute name="shared" type="tns:booleanType"/>
+ </xs:complexType>
+
+ <xs:complexType name="customInterceptorsType">
+ <xs:sequence>
+ <xs:element name="interceptor" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="property"
maxOccurs="unbounded" type="tns:propertyType"
minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="class" type="xs:string"/>
+ <xs:attribute name="position">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern
value="[Ff][Ii][Rr][Ss][Tt]|[Ll][Aa][Ss][Tt]"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="before" type="xs:string"/>
+ <xs:attribute name="after" type="xs:string"/>
+ <xs:attribute name="index"
type="tns:positiveInteger"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="propertyType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="value" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+</xs:schema>
+
Property changes on: core/branches/flat/src/main/resources/schema/horizon-config-1.0.xsd
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Deleted: core/branches/flat/src/main/resources/schema/starobrno-config-1.0.xsd
===================================================================
--- core/branches/flat/src/main/resources/schema/starobrno-config-1.0.xsd 2009-01-26
10:49:29 UTC (rev 7595)
+++ core/branches/flat/src/main/resources/schema/starobrno-config-1.0.xsd 2009-01-26
11:58:54 UTC (rev 7596)
@@ -1,301 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
- xmlns:tns="urn:jboss:starobrno-core:config:1.0"
targetNamespace="urn:jboss:starobrno-core:config:1.0"
-
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
-
- <xs:element name="jbosscache"
type="tns:cacheManagerConfigurationType"/>
-
- <xs:complexType name="cacheManagerConfigurationType">
- <xs:sequence>
- <xs:element name="global"
type="tns:globalCacheConfigurationType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="default"
type="tns:defaultCacheConfigurationType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="namedCache"
type="tns:namedCacheConfigurationType" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="globalCacheConfigurationType">
- <xs:all>
- <xs:element name="serialization"
type="tns:sharedSerializationType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="jgroupsConfig"
type="tns:jgroupsConfigType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="asyncListenerExecutor"
type="tns:executorConfigurationType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="asyncSerializationExecutor"
type="tns:executorConfigurationType" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="evictionScheduledExecutor"
type="tns:executorConfigurationType" minOccurs="0"
- maxOccurs="1"/>
- <xs:element name="replicationQueueScheduledExecutor"
type="tns:executorConfigurationType" minOccurs="0"
- maxOccurs="1"/>
- </xs:all>
- </xs:complexType>
-
- <xs:complexType name="sharedSerializationType">
- <xs:attribute name="objectInputStreamPoolSize"
type="tns:positiveInteger"/>
- <xs:attribute name="objectOutputStreamPoolSize"
type="tns:positiveInteger"/>
- <xs:attribute name="version" type="xs:string"/>
- <xs:attribute name="marshallerClass"
type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="executorConfigurationType">
- <xs:sequence>
- <xs:element name="property" minOccurs="0"
maxOccurs="unbounded" type="tns:propertyType"/>
- </xs:sequence>
- <xs:attribute name="factory" type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="defaultCacheConfigurationType">
- <xs:all>
- <xs:element name="locking" type="tns:lockingType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="transaction"
type="tns:transactionType" minOccurs="0" maxOccurs="1"/>
- <xs:element name="startup" type="tns:startupType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="shutdown" type="tns:shutdownType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="serialization"
type="tns:serializationType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="jmxStatistics"
type="tns:jmxStatisticsType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="listeners" type="tns:listenersType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="invocationBatching"
type="tns:invocationBatchingType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="eviction" type="tns:evictionType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="loaders" type="tns:loadersType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="customInterceptors"
type="tns:customInterceptorsType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="clustering"
type="tns:clusteringType" minOccurs="0" maxOccurs="1"/>
- </xs:all>
- </xs:complexType>
-
- <xs:complexType name="namedCacheConfigurationType">
- <xs:all>
- <xs:element name="locking" type="tns:lockingType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="transaction"
type="tns:transactionType" minOccurs="0" maxOccurs="1"/>
- <xs:element name="startup" type="tns:startupType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="shutdown" type="tns:shutdownType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="serialization"
type="tns:serializationType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="jmxStatistics"
type="tns:jmxStatisticsType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="listeners" type="tns:listenersType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="invocationBatching"
type="tns:invocationBatchingType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="eviction" type="tns:evictionType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="loaders" type="tns:loadersType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="customInterceptors"
type="tns:customInterceptorsType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="clustering"
type="tns:clusteringType" minOccurs="0" maxOccurs="1"/>
- </xs:all>
- <xs:attribute name="name" type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="clusteringType">
- <xs:all>
- <xs:element name="sync" type="tns:syncType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="async" type="tns:asyncType"
minOccurs="0" maxOccurs="1"/>
- <xs:element name="stateRetrieval"
type="tns:stateRetrievalType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="buddy" minOccurs="0"
maxOccurs="1">
- <xs:complexType>
- <xs:all minOccurs="0">
- <xs:element name="dataGravitation"
maxOccurs="1">
- <xs:complexType>
- <xs:attribute name="auto"
type="tns:booleanType"/>
- <xs:attribute name="removeOnFind"
type="tns:booleanType"/>
- <xs:attribute name="searchBackupTrees"
type="tns:booleanType"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="locator"
maxOccurs="1">
- <xs:complexType>
- <xs:all>
- <xs:element name="properties"
type="xs:string" maxOccurs="1"/>
- </xs:all>
- <xs:attribute name="class"
type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:all>
- <xs:attribute name="enabled"
type="tns:booleanType"/>
- <xs:attribute name="poolName"
type="xs:string"/>
- <xs:attribute name="communicationTimeout"
type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- </xs:all>
- <xs:attribute name="mode">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern
-
value="[Rr][Ee][Pp][Ll][Ii][Cc][Aa][Tt][Ii][Oo][Nn]|[Ii][Nn][Vv][Aa][Ll][Ii][Dd][Aa][Tt][Ii][Oo][Nn]|[Rr]|[Ii]|\$\{.*\}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="clusterName" type="xs:string"/>
-
-
- </xs:complexType>
-
- <xs:complexType name="lockingType">
- <xs:attribute name="isolationLevel">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern
-
value="[Ss][Ee][Rr][Ii][Aa][Ll][Ii][Zz][Aa][Bb][Ll][Ee]|[Rr][Ee][Pp][Ee][Aa][Tt][Aa][Bb][Ll][Ee]_[Rr][Ee][Aa][Dd]|[Rr][Ee][Aa][Dd]_[Cc][Oo][Mm][Mm][Ii][Tt][Tt][Ee][Dd]|[Nn][Oo][Nn][Ee]|\$\{.*\}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="lockParentForChildInsertRemove"
type="tns:booleanType"/>
- <xs:attribute name="lockAcquisitionTimeout"
type="tns:positiveInteger"/>
- <xs:attribute name="writeSkewCheck"
type="tns:booleanType"/>
- <xs:attribute name="concurrencyLevel"
type="xs:integer"/>
- </xs:complexType>
-
- <xs:complexType name="transactionType">
- <xs:attribute name="transactionManagerLookupClass"
type="xs:string"/>
- <xs:attribute name="syncRollbackPhase"
type="tns:booleanType"/>
- <xs:attribute name="syncCommitPhase"
type="tns:booleanType"/>
- </xs:complexType>
-
- <xs:complexType name="startupType">
- <xs:attribute name="regionsInactiveOnStartup"
type="tns:booleanType"/>
- </xs:complexType>
-
- <xs:complexType name="stateRetrievalType">
- <xs:attribute name="fetchInMemoryState"
type="tns:booleanType"/>
- <xs:attribute name="timeout"
type="tns:positiveInteger"/>
- </xs:complexType>
-
- <xs:complexType name="shutdownType">
- <xs:attribute name="hookBehavior">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern
-
value="[Dd][Ee][Ff][Aa][Uu][Ll][Tt]|[Rr][Ee][Gg][Ii][Ss][Tt][Ee][Rr]|[Dd][Oo][Nn][Tt]_[Rr][Ee][Gg][Ii][Ss][Tt][Ee][Rr]|\$\{.*\}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
-
- <xs:complexType name="serializationType">
- <xs:attribute name="useLazyDeserialization"
type="tns:booleanType"/>
- </xs:complexType>
-
- <xs:simpleType name="booleanType">
- <xs:restriction base="xs:string">
- <xs:pattern
value="\$\{.*\}|[Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee]"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="positiveInteger">
- <xs:restriction base="xs:string">
- <xs:pattern value="\$\{.*\}|\+?[0-9]*"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="jmxStatisticsType">
- <xs:attribute name="enabled" type="tns:booleanType"/>
- </xs:complexType>
-
- <xs:complexType name="listenersType">
- <xs:attribute name="asyncPoolSize"
type="tns:positiveInteger"/>
- <xs:attribute name="asyncQueueSize"
type="tns:positiveInteger"/>
- </xs:complexType>
-
- <xs:complexType name="invocationBatchingType">
- <xs:attribute name="enabled" type="tns:booleanType"/>
- </xs:complexType>
-
- <xs:complexType name="jgroupsConfigType">
- <xs:sequence>
- <xs:any processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="configFile" type="xs:string"/>
- <xs:attribute name="multiplexerStack"
type="xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="syncType">
- <xs:attribute name="replTimeout"
type="tns:positiveInteger"/>
- </xs:complexType>
-
- <xs:complexType name="asyncType">
- <xs:attribute name="useReplQueue"
type="tns:booleanType"/>
- <xs:attribute name="replQueueInterval"
type="tns:positiveInteger"/>
- <xs:attribute name="replQueueMaxElements"
type="tns:positiveInteger"/>
- <xs:attribute name="serializationExecutorPoolSize"
type="tns:positiveInteger"/>
- <xs:attribute name="serializationExecutorQueueSize"
type="tns:positiveInteger"/>
- </xs:complexType>
-
- <xs:complexType name="evictionType">
- <xs:sequence>
- <xs:element name="default"
type="tns:evictionRegionType" minOccurs="0"
maxOccurs="1"/>
- <xs:element name="region" minOccurs="0"
maxOccurs="unbounded" type="tns:evictionRegionType"/>
- </xs:sequence>
- <xs:attribute name="wakeUpInterval"
type="tns:positiveInteger" use="required"/>
- </xs:complexType>
-
- <xs:complexType name="evictionRegionType">
- <xs:sequence>
- <xs:element name="property" minOccurs="0"
maxOccurs="unbounded" type="tns:propertyType"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:string"/>
- <xs:attribute name="algorithmClass" type="xs:string"/>
- <xs:attribute name="actionPolicyClass"
type="xs:string"/>
- <xs:attribute name="eventQueueSize"
type="tns:positiveInteger"/>
- </xs:complexType>
-
- <xs:complexType name="loadersType">
- <xs:sequence>
- <xs:element name="preload" minOccurs="0"
maxOccurs="1">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="node"
maxOccurs="unbounded">
- <xs:complexType>
- <xs:attribute name="fqn"
type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="loader" maxOccurs="unbounded">
- <xs:complexType>
- <xs:all>
- <xs:element name="properties"/>
- <xs:element name="singletonStore"
minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:all>
- <xs:element name="properties"
type="xs:string" minOccurs="0" maxOccurs="1"/>
- </xs:all>
- <xs:attribute name="enabled"
type="tns:booleanType"/>
- <xs:attribute name="class"
type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:all>
- <xs:attribute name="class"
type="xs:string"/>
- <xs:attribute name="async"
type="tns:booleanType"/>
- <xs:attribute name="fetchPersistentState"
type="tns:booleanType"/>
- <xs:attribute name="ignoreModifications"
type="tns:booleanType"/>
- <xs:attribute name="purgeOnStartup"
type="tns:booleanType"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="passivation"
type="tns:booleanType"/>
- <xs:attribute name="shared" type="tns:booleanType"/>
- </xs:complexType>
-
- <xs:complexType name="customInterceptorsType">
- <xs:sequence>
- <xs:element name="interceptor"
maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="property"
maxOccurs="unbounded" type="tns:propertyType"
minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="class"
type="xs:string"/>
- <xs:attribute name="position">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern
value="[Ff][Ii][Rr][Ss][Tt]|[Ll][Aa][Ss][Tt]"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="before"
type="xs:string"/>
- <xs:attribute name="after"
type="xs:string"/>
- <xs:attribute name="index"
type="tns:positiveInteger"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="propertyType">
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="name" type="xs:string"/>
- <xs:attribute name="value" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-</xs:schema>
-
Deleted: core/branches/flat/src/main/resources/schema/starobrno-registry-1.0.xsd
===================================================================
--- core/branches/flat/src/main/resources/schema/starobrno-registry-1.0.xsd 2009-01-26
10:49:29 UTC (rev 7595)
+++ core/branches/flat/src/main/resources/schema/starobrno-registry-1.0.xsd 2009-01-26
11:58:54 UTC (rev 7596)
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
- xmlns:tns="urn:jboss:starobrno-core:config:1.0"
- xmlns:repo="urn:jboss:starobrno-core:cache-repo:1.0"
- targetNamespace="urn:jboss:starobrno-core:cache-repo:1.0"
-
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
- <xs:import schemaLocation="starobrno-config-1.0.xsd"
namespace="urn:jboss:starobrno-core:config:1.0"/>
-
- <xs:element name="cache-configs">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="cache-config"
type="repo:cacheConfig" minOccurs="1"
maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="cacheConfig">
- <xs:complexContent>
- <xs:extension base="tns:cacheConfigurationType"
xml:space="default">
- <xs:attribute name="name" type="xs:string"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-</xs:schema>
Modified: core/branches/flat/src/test/resources/configs/named-cache-test.xml
===================================================================
--- core/branches/flat/src/test/resources/configs/named-cache-test.xml 2009-01-26 10:49:29
UTC (rev 7595)
+++ core/branches/flat/src/test/resources/configs/named-cache-test.xml 2009-01-26 11:58:54
UTC (rev 7596)
@@ -1,55 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:starobrno-core:config:1.0">
+<horizon
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:horizon:config:1.0">
- <global>
+ <global>
- <asyncListenerExecutor
factory="org.horizon.executors.DefaultExecutorFactory">
- <property name="maxThreads">5</property>
- <property
name="threadNamePrefix">AsyncListenerThread</property>
- </asyncListenerExecutor>
+ <asyncListenerExecutor
factory="org.horizon.executors.DefaultExecutorFactory">
+ <property name="maxThreads">5</property>
+ <property
name="threadNamePrefix">AsyncListenerThread</property>
+ </asyncListenerExecutor>
- <asyncSerializationExecutor
factory="org.horizon.executors.DefaultExecutorFactory">
- <property name="maxThreads">25</property>
- <property
name="threadNamePrefix">AsyncSerializationThread</property>
- </asyncSerializationExecutor>
+ <asyncSerializationExecutor
factory="org.horizon.executors.DefaultExecutorFactory">
+ <property name="maxThreads">25</property>
+ <property
name="threadNamePrefix">AsyncSerializationThread</property>
+ </asyncSerializationExecutor>
- <evictionScheduledExecutor
factory="org.horizon.executors.DefaultScheduledExecutorFactory">
- <property
name="threadNamePrefix">EvictionThread</property>
- </evictionScheduledExecutor>
+ <evictionScheduledExecutor
factory="org.horizon.executors.DefaultScheduledExecutorFactory">
+ <property
name="threadNamePrefix">EvictionThread</property>
+ </evictionScheduledExecutor>
- <replicationQueueScheduledExecutor
factory="org.horizon.executors.DefaultScheduledExecutorFactory">
- <property
name="threadNamePrefix">ReplicationQueueThread</property>
- </replicationQueueScheduledExecutor>
+ <replicationQueueScheduledExecutor
factory="org.horizon.executors.DefaultScheduledExecutorFactory">
+ <property
name="threadNamePrefix">ReplicationQueueThread</property>
+ </replicationQueueScheduledExecutor>
- <jgroupsConfig configFile="udp.xml"/>
+ <transport
transportClass="org.horizon.remoting.transport.jgroups.JGroupsTransport"/>
- <serialization
marshallerClass="org.horizon.marshall.CacheMarshallerStarobrno"
version="1.0"
- objectInputStreamPoolSize="100"
objectOutputStreamPoolSize="100"/>
+ <serialization
marshallerClass="org.horizon.marshall.CacheMarshallerStarobrno"
version="1.0"
+ objectInputStreamPoolSize="100"
objectOutputStreamPoolSize="100"/>
- </global>
+ </global>
- <default>
- <locking concurrencyLevel="100"
lockAcquisitionTimeout="1000"/>
- </default>
+ <default>
+ <locking concurrencyLevel="100"
lockAcquisitionTimeout="1000"/>
+ </default>
- <namedCache name="transactional">
- <transaction
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"/>
- </namedCache>
+ <namedCache name="transactional">
+ <transaction
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"/>
+ </namedCache>
- <namedCache name="syncRepl">
+ <namedCache name="syncRepl">
+ <clustering>
+ <stateRetrieval fetchInMemoryState="true"
timeout="15000"/>
+ <sync replTimeout="15000"/>
+ </clustering>
+ </namedCache>
- <clustering>
- <stateRetrieval fetchInMemoryState="true"
timeout="15000"/>
- <sync replTimeout="15000"/>
- </clustering>
- </namedCache>
+ <namedCache name="asyncRepl">
+ <clustering>
+ <stateRetrieval fetchInMemoryState="true"
timeout="15000"/>
+ <async useAsyncSerialization="false"/>
+ </clustering>
+ </namedCache>
- <namedCache name="txSyncRepl">
- <transaction
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"/>
- <clustering>
- <stateRetrieval fetchInMemoryState="true"
timeout="15000"/>
- <sync replTimeout="15000"/>
- </clustering>
- </namedCache>
+ <namedCache name="asyncReplQueue">
+ <clustering>
+ <stateRetrieval fetchInMemoryState="true"
timeout="15000"/>
+ <async useReplQueue="true"/>
+ </clustering>
+ </namedCache>
-</jbosscache>
+ <namedCache name="txSyncRepl">
+ <transaction
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"/>
+ <clustering>
+ <stateRetrieval fetchInMemoryState="true"
timeout="15000"/>
+ <sync replTimeout="15000"/>
+ </clustering>
+ </namedCache>
+
+</horizon>
Deleted: core/branches/flat/src/test/resources/configs/parser-test-async.xml
===================================================================
--- core/branches/flat/src/test/resources/configs/parser-test-async.xml 2009-01-26
10:49:29 UTC (rev 7595)
+++ core/branches/flat/src/test/resources/configs/parser-test-async.xml 2009-01-26
11:58:54 UTC (rev 7596)
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- file used for functional test of the xml parser -->
-
-<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="urn:jboss:starobrno-core:config:1.0">
-
-
- <locking isolationLevel="REPEATABLE_READ"
lockParentForChildInsertRemove="true" lockAcquisitionTimeout="10234"
- writeSkewCheck="false" concurrencyLevel="21"/>
-
- <transaction
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"
- syncRollbackPhase="true"
syncCommitPhase="true"/>
-
- <jmxStatistics enabled="false"/>
-
- <startup regionsInactiveOnStartup="true"/>
- <shutdown hookBehavior="REGISTER"/>
- <listeners asyncPoolSize="5" asyncQueueSize="100000"/>
- <invocationBatching enabled="true"/>
-
- <!-- serialization related configuration, used for replication and cache loading
-->
- <serialization objectInputStreamPoolSize="12"
objectOutputStreamPoolSize="14" version="1.2.4"
- marshallerClass="some.Clazz"
useLazyDeserialization="true" useRegionBasedMarshalling="true"/>
-
- <clustering mode="replication"
clusterName="JBossCache-cluster">
- <async useReplQueue="false"
serializationExecutorPoolSize="250"
serializationExecutorQueueSize="5000000"/>
- <stateRetrieval timeout="15124"
fetchInMemoryState="true"/>
- <buddy enabled="true"
poolName="myBuddyPoolReplicationGroup"
communicationTimeout="2000">
- <dataGravitation auto="true" removeOnFind="true"
searchBackupTrees="true"/>
- <locator
class="org.jboss.cache.buddyreplication.NextMemberBuddyLocator">
- <properties>
- numBuddies = 1
- ignoreColocatedBuddies = true
- </properties>
- </locator>
- </buddy>
- <jgroupsConfig>
- <PING timeout="2000" num_initial_members="3"/>
- <MERGE2 max_interval="30000"
min_interval="10000"/>
- <FD_SOCK/>
- <FD timeout="10000" max_tries="5"
shun="true"/>
- <VERIFY_SUSPECT timeout="1500"/>
- <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"/>
- <pbcast.GMS print_local_addr="true"
join_timeout="5000" shun="false"
- view_bundling="true"
view_ack_collection_timeout="5000"/>
- <FRAG2 frag_size="60000"/>
- <pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/>
- <!-- <pbcast.STATE_TRANSFER/> -->
- <pbcast.FLUSH timeout="0"/>
- </jgroupsConfig>
- </clustering>
-
- <eviction wakeUpInterval="5">
- <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm"
eventQueueSize="200000">
- <property name="maxNodes" value="5000"/>
- <property name="timeToLive" value="1000"/>
- </default>
- <region name="/org/jboss/data">
- <property name="timeToLive" value="1002"/>
- </region>
- <region name="/org/jboss/xyz"
algorithmClass="org.jboss.cache.eviction.MRUAlgorithm"
eventQueueSize="21">
- <property name="maxNodes" value="2103"/>
- <property name="minTimeToLive" value="22"/>
- </region>
- </eviction>
-
- <!-- this should be deprecated in 3.0 and should be replaced with
CacheLoaderConfig-->
- <loaders passivation="true" shared="true">
- <preload>
- <node fqn="/a/b/c"/>
- <node fqn="/f/r/s"/>
- </preload>
-
- <!-- we can now have multiple cache loaders, which get chained -->
- <loader class="org.jboss.cache.loader.JDBCCacheLoader"
async="true" fetchPersistentState="true"
- ignoreModifications="true" purgeOnStartup="true">
- <properties>
- cache.jdbc.table.name=jbosscache
- cache.jdbc.table.create=true
- cache.jdbc.table.drop=true
- </properties>
- <singletonStore enabled="true"
class="org.horizon.loader.SingletonStoreCacheLoader">
- <properties>
- pushStateWhenCoordinator=true
- pushStateWhenCoordinatorTimeout=20000
- </properties>
- </singletonStore>
- </loader>
- </loaders>
-
- <!-- this is new behavior added within 3.x only. it support configuring custom
interceptors through configurations -->
- <customInterceptors>
- <interceptor position="first"
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor">
- <property name="attrOne" value="value1"/>
- <property name="attrTwo" value="value2"/>
- </interceptor>
- <interceptor position="last"
class="org.jboss.cache.config.parsing.custominterceptors.BbbCustomInterceptor"/>
- <interceptor index="3"
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor"/>
- <interceptor before="org.jboss.cache.interceptors.CallInterceptor"
-
class="org.jboss.cache.config.parsing.custominterceptors.BbbCustomInterceptor"/>
- <interceptor after="org.jboss.cache.interceptors.CallInterceptor"
-
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor"/>
- </customInterceptors>
-
- <!-- the number of threads to use for asynchronous cache listeners - defaults to 1
-->
-</jbosscache>
Deleted: core/branches/flat/src/test/resources/configs/parser-test.xml
===================================================================
--- core/branches/flat/src/test/resources/configs/parser-test.xml 2009-01-26 10:49:29 UTC
(rev 7595)
+++ core/branches/flat/src/test/resources/configs/parser-test.xml 2009-01-26 11:58:54 UTC
(rev 7596)
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- file used for functional test of the xml parser -->
-
-<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="urn:jboss:starobrno-core:config:1.0">
-
- <!-- perCache -> differrent EntryFactory-->
- <locking isolationLevel="REPEATABLE_READ"
lockParentForChildInsertRemove="true" lockAcquisitionTimeout="10234"
- writeSkewCheck="false" concurrencyLevel="21"/>
-
- <!-- perCM -->
- <transaction
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"
- syncRollbackPhase="true"
syncCommitPhase="true"/>
-
- <jmxStatistics enabled="false"/>
-
- <startup regionsInactiveOnStartup="true"/>
- <shutdown hookBehavior="REGISTER"/>
- <listeners asyncPoolSize="5"/>
- <!-- perCache -->
- <invocationBatching enabled="true"/>
-
- <!-- per CM-->
- <!-- serialization related configuration, used for replication and cache loading
-->
- <serialization objectInputStreamPoolSize="12"
objectOutputStreamPoolSize="14" version="1.2.4"
- marshallerClass="some.Clazz"
useLazyDeserialization="true" useRegionBasedMarshalling="true"/>
-
- <!-- per Cache -->
- <clustering mode="replication"
clusterName="JBossCache-cluster">
- <stateRetrieval timeout="15124"
fetchInMemoryState="true"/>
- <buddy enabled="true"
poolName="myBuddyPoolReplicationGroup"
communicationTimeout="2000">
- <dataGravitation auto="true" removeOnFind="true"
searchBackupTrees="true"/>
- <locator
class="org.jboss.cache.buddyreplication.NextMemberBuddyLocator">
- <properties>
- numBuddies = 1
- ignoreColocatedBuddies = true
- </properties>
- </locator>
- </buddy>
- <sync replTimeout="15421"/>
- <jgroupsConfig multiplexerStack="file_name"/>
- </clustering>
-
- <!-- per cache, 1) algo/cache 2) what/cache 3) collecting data 4) timer thread /
per CM -->
- <eviction wakeUpInterval="5">
- <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm"
eventQueueSize="200000">
- <property name="maxNodes" value="5000"/>
- <property name="timeToLive" value="1000"/>
- </default>
- <region name="/org/jboss/data">
- <property name="timeToLive" value="1002"/>
- </region>
- <region name="/org/jboss/xyz"
algorithmClass="org.jboss.cache.eviction.MRUAlgorithm"
eventQueueSize="21">
- <property name="maxNodes" value="2103"/>
- <property name="minTimeToLive" value="22"/>
- </region>
- </eviction>
-
- <!-- cacheLoaders/Cache; optimization - reusing CL through caches -->
- <!-- this should be deprecated in 3.0 and should be replaced with
CacheLoaderConfig-->
- <loaders passivation="true" shared="true">
- <preload>
- <node fqn="/a/b/c"/>
- <node fqn="/f/r/s"/>
- </preload>
-
- <!-- we can now have multiple cache loaders, which get chained -->
- <loader class="org.jboss.cache.loader.JDBCCacheLoader"
async="true" fetchPersistentState="true"
- ignoreModifications="true" purgeOnStartup="true">
- <properties>
- cache.jdbc.table.name=jbosscache
- cache.jdbc.table.create=true
- cache.jdbc.table.drop=true
- </properties>
- <singletonStore enabled="true"
class="org.horizon.loader.SingletonStoreCacheLoader">
- <properties>
- pushStateWhenCoordinator=true
- pushStateWhenCoordinatorTimeout=20000
- </properties>
- </singletonStore>
- </loader>
- </loaders>
-
- <!-- per CacheInstance -->
- <!-- this is new behavior added within 3.x only. it support configuring custom
interceptors through configurations -->
- <customInterceptors>
- <interceptor position="first"
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor">
- <property name="attrOne" value="value1"/>
- <property name="attrTwo" value="value2"/>
- </interceptor>
- <interceptor position="last"
class="org.jboss.cache.config.parsing.custominterceptors.BbbCustomInterceptor"/>
- <interceptor index="3"
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor"/>
- <interceptor before="org.jboss.cache.interceptors.CallInterceptor"
-
class="org.jboss.cache.config.parsing.custominterceptors.BbbCustomInterceptor"/>
- <interceptor after="org.jboss.cache.interceptors.CallInterceptor"
-
class="org.jboss.cache.config.parsing.custominterceptors.AaaCustomInterceptor"/>
- </customInterceptors>
-
- <!-- the number of threads to use for asynchronous cache listeners - defaults to 1
-->
-</jbosscache>
Modified: core/branches/flat/src/test/resources/configs/string-property-replaced.xml
===================================================================
--- core/branches/flat/src/test/resources/configs/string-property-replaced.xml 2009-01-26
10:49:29 UTC (rev 7595)
+++ core/branches/flat/src/test/resources/configs/string-property-replaced.xml 2009-01-26
11:58:54 UTC (rev 7596)
@@ -1,44 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:starobrno-core:config:1.0">
- <locking
lockAcquisitionTimeout="${test.property.LockAcquisitionTimeout:15000}"/>
+<horizon
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:horizon:config:1.0">
- <transaction syncCommitPhase="${test.property.SyncCommitPhase:true}"
syncRollbackPhase="true"/>
+ <!-- *************************** -->
+ <!-- System-wide global settings -->
+ <!-- *************************** -->
- <serialization useRegionBasedMarshalling="true"/>
- <clustering>
- <stateRetrieval fetchInMemoryState="false"
timeout="20000"/>
- <jgroupsConfig multiplexerStack="udp-sync"/>
- <sync replTimeout="20000"/>
- <buddy
enabled="${test.property.BuddyReplicationConfig.enabled:true}"
-
poolName="${test.property.BuddyReplicationConfig.buddyPoolName:default}"
communicationTimeout="2000">
- <dataGravitation auto="false" removeOnFind="true"
searchBackupTrees="true"/>
- <locator
class="org.jboss.cache.buddyreplication.NextMemberBuddyLocator">
- <properties>
- ignoreColocatedBuddies = true
- numBuddies = ${test.property.BuddyReplicationConfig.numBuddies:1}
- </properties>
- </locator>
- </buddy>
- </clustering>
+ <global>
- <startup regionsInactiveOnStartup="true"/>
- <eviction wakeUpInterval="5000">
- <default
-
algorithmClass="${test.property.EvictionPolicyConfig.policyClass:org.jboss.cache.eviction.LRUAlgorithm}">
- <property name="maxNodes"
value="${test.property.EvictionPolicyConfig.maxNodes:5000}"/>
- <property name="timeToLive" value="1000000"/>
- </default>
- </eviction>
- <loaders passivation="true" shared="false">
- <preload>
- <node fqn="/"/>
- </preload>
- <loader class="org.jboss.cache.loader.FileCacheLoader"
async="false" fetchPersistentState="true"
- ignoreModifications="false">
- <properties>
-
location=${test.property.CacheLoaderConfiguration.location,java.io.tmpdir:/tmp}
- </properties>
- </loader>
- </loaders>
-</jbosscache>
+ <asyncListenerExecutor
factory="org.horizon.executors.DefaultExecutorFactory">
+ <property
name="maxThreads">${test.property.asyncListenerMaxThreads:5}</property>
+ <property
name="threadNamePrefix">AsyncListenerThread</property>
+ </asyncListenerExecutor>
+
+ <transport
transportClass="org.horizon.remoting.transport.jgroups.JGroupsTransport">
+ <property
name="configurationFile">${test.property.jgroupsConfigFile:udp.xml}</property>
+ </transport>
+
+ </global>
+
+ <!-- *************************** -->
+ <!-- Default "template" settings -->
+ <!-- *************************** -->
+ <default>
+ <locking
+ isolationLevel="REPEATABLE_READ"
+
lockAcquisitionTimeout="${test.property.LockAcquisitionTimeout:15000}"
+ writeSkewCheck="false"
+ concurrencyLevel="500"/>
+
+ <transaction
+
transactionManagerLookupClass="org.horizon.transaction.GenericTransactionManagerLookup"
+ syncRollbackPhase="false"
+ syncCommitPhase="${test.property.SyncCommitPhase:true}"/>
+
+ <clustering clusterName="BlahBlah">
+ <sync/>
+ </clustering>
+ </default>
+</horizon>