summaryrefslogtreecommitdiffstats
path: root/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
diff options
context:
space:
mode:
authordougsleite <dougsleite@13f79535-47bb-0310-9956-ffa450edef68>2009-08-06 14:24:58 +0000
committerdougsleite <dougsleite@13f79535-47bb-0310-9956-ffa450edef68>2009-08-06 14:24:58 +0000
commitc179c8909e852ecb68bc37b59374931eab333cdf (patch)
treeb69fdc1e72ea9dfa56d06c4d772886295cdf4ad1 /sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
parent6fab0ae9e1d940fbe610db8ca20c3b4b5ca4fe28 (diff)
- Modifying the guardian-model to deal with concurrent exceptions;
- The policy-resolutiontrees module is used to process the resolution tree - the lowest common ancestor is the resolved exception for a set of concurrent exceptions; git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@801656 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml82
1 files changed, 82 insertions, 0 deletions
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml b/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
new file mode 100644
index 0000000000..65c509751c
--- /dev/null
+++ b/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (thea
+ * "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.
+-->
+
+<recovery_rules>
+
+ <!-- A new participant joins in the group -->
+ <rule name="Rule1" signaled_exception="org.apache.tuscany.sca.guardian.JoinException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupJoinedException" target_context="PRIMARY"/>
+ </participant>
+
+ <participant match="SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryExistsException" target_context="MAIN" min_participant_joined="2"/>
+ </participant>
+ </rule>
+
+ <!-- The Primary fails -->
+ <rule name="Rule2" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+
+ <participant match="*.BACKUP">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN">
+ <affected_participants>FIRST</affected_participants>
+ </throw_exception>
+ </participant>
+ </rule>
+
+ <!-- The Backup fails -->
+ <rule name="Rule3" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="PRIMARY"/>
+ </participant>
+
+ <participant match="SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+ </rule>
+
+ <!-- The Primary and Backup fail together -->
+ <rule name="Rule4" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryBackupFailedTogetherException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+
+ <!-- Backup signaler -->
+ <participant match="*.BACKUP,SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+
+ <!-- Excluding the backup signaler -->
+ <participant match="*.BACKUP,!SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN">
+ <affected_participants>FIRST</affected_participants>
+ </throw_exception>
+ </participant>
+
+ </rule>
+
+</recovery_rules>