summaryrefslogtreecommitdiffstats
path: root/java/sca/contrib/itest/transaction/src/main/resources
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/contrib/itest/transaction/src/main/resources')
-rw-r--r--java/sca/contrib/itest/transaction/src/main/resources/accounts.composite43
-rw-r--r--java/sca/contrib/itest/transaction/src/main/resources/definitions.xml99
-rw-r--r--java/sca/contrib/itest/transaction/src/main/resources/log4j.properties29
3 files changed, 171 insertions, 0 deletions
diff --git a/java/sca/contrib/itest/transaction/src/main/resources/accounts.composite b/java/sca/contrib/itest/transaction/src/main/resources/accounts.composite
new file mode 100644
index 0000000000..f4c6b650c7
--- /dev/null
+++ b/java/sca/contrib/itest/transaction/src/main/resources/accounts.composite
@@ -0,0 +1,43 @@
+<?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 (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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:foo="http://foo" targetNamespace="http://account"
+ name="Accounts" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <component name="TransferServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.itest.transaction.TransferServiceImpl"
+ requires="managedTransaction.global" />
+ <service name="TransferService" />
+ <reference name="savings" requires="propagatesTransaction" target="SavingsAccountServiceComponent"></reference>
+ <reference name="checking" requires="propagatesTransaction" target="CheckingAccountServiceComponent"></reference>
+ </component>
+
+ <component name="SavingsAccountServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.itest.transaction.SavingsAccountServiceImpl"
+ requires="managedTransaction.global" />
+ <service name="AccountService" requires="propagatesTransaction" />
+ </component>
+
+ <component name="CheckingAccountServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.itest.transaction.CheckingAccountServiceImpl"
+ requires="managedTransaction.global" />
+ <service name="AccountService" requires="propagatesTransaction" />
+ </component>
+
+</composite> \ No newline at end of file
diff --git a/java/sca/contrib/itest/transaction/src/main/resources/definitions.xml b/java/sca/contrib/itest/transaction/src/main/resources/definitions.xml
new file mode 100644
index 0000000000..8aa6ba313a
--- /dev/null
+++ b/java/sca/contrib/itest/transaction/src/main/resources/definitions.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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 (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.
+-->
+<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
+
+ <policySet name="tuscany:ManagedTransactionPolicySet" provides="managedTransaction" appliesTo="sca:implementation.java">
+ <intentMap provides="managedTransaction" default="global">
+ <qualifier name="global">
+ <tuscany:transactionPolicy transactionTimeout="1200" action="REQUIRE_GLOBAL" />
+ </qualifier>
+ <qualifier name="local">
+ <tuscany:transactionPolicy transactionTimeout="1200" action="REQUIRE_LOCAL" />
+ </qualifier>
+ </intentMap>
+ </policySet>
+
+ <policySet name="tuscany:NoManagedTransactionPolicySet" provides="noManagedTransaction"
+ appliesTo="implementation">
+ <tuscany:transactionPolicy action="REQUIRE_NONE" />
+ </policySet>
+
+ <policySet name="tuscany:PropagatesTransactionPolicySet" provides="propagatesTransaction" appliesTo="sca:component">
+ <tuscany:transactionPolicy action="PROPAGATE" />
+ </policySet>
+
+ <policySet name="tuscany:SuspendsTransactionPolicySet" provides="suspendsTransaction" appliesTo="sca:binding.sca">
+ <tuscany:transactionPolicy action="SUSPEND" />
+ </policySet>
+
+ <policySet name="tuscany:TransactedOneWayPolicySet" provides="transactedOneWay" appliesTo="sca:binding.sca">
+ <tuscany:transactionPolicy action="PROPAGATE" />
+ </policySet>
+
+ <policySet name="tuscany:ImmediateOneWayPolicySet" provides="immediateOneWay" appliesTo="sca:binding.sca">
+ <tuscany:transactionPolicy action="SUSPEND" />
+ </policySet>
+
+ <intent name="managedTransaction" constrains="implementation">
+ <description>Used to indicate the transaction environment desired by a component implementation.</description>
+ </intent>
+ <intent name="managedTransaction.global">
+ <description>
+ Used to indicate that a component implementation requires a managed global transaction.
+ </description>
+ </intent>
+ <intent name="managedTransaction.local">
+ <description>
+ Used to indicate that a component implementation requires a managed local transaction.
+ </description>
+ </intent>
+ <intent name="noManagedTransaction" constrains="implementation">
+ <description>
+ Used to indicate that a component implementation will manage its own transaction resources.
+ </description>
+ </intent>
+ <intent name="propagatesTransaction" constrains="binding">
+ <description>
+ Used to indicate that a reference will propagate any client transaction or that a service will be dispatched
+ under any received transaction.
+ </description>
+ </intent>
+ <intent name="suspendsTransaction" constrains="binding">
+ <description>
+ Used to indicate that a reference will not propagate any client transaction or that a service will not be
+ dispatched under any received transaction.
+ </description>
+ </intent>
+ <intent name="transactedOneWay" constrains="binding">
+ <description>
+ Used to indicate that the component requires the SCA runtime to transact OneWay send of messages as part of
+ any client global transaction or to transact oneWay message receipt as part of any service global
+ transaction.
+ </description>
+ </intent>
+ <intent name="immediateOneWay" constrains="binding">
+ <description>
+ Used to indicate that the component requires the SCA runtime to process the sending or receiving of OneWay
+ messages immediately, regardless of any transaction under which the sending/receiving component runs.
+ </description>
+ </intent>
+
+</definitions> \ No newline at end of file
diff --git a/java/sca/contrib/itest/transaction/src/main/resources/log4j.properties b/java/sca/contrib/itest/transaction/src/main/resources/log4j.properties
new file mode 100644
index 0000000000..698ee41d7e
--- /dev/null
+++ b/java/sca/contrib/itest/transaction/src/main/resources/log4j.properties
@@ -0,0 +1,29 @@
+# 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 (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.
+#
+# Set root logger level to DEBUG and its only appender to A1.
+log4j.rootLogger=INFO, CONSOLE
+
+# CONSOLE is set to be a ConsoleAppender.
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+
+
+# Print only messages of level WARN or above in the package com.foo.
+log4j.logger.org.apache.tuscany=INFO \ No newline at end of file