<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
	"http://www.seasar.org/dtd/components21.dtd">
<components namespace="ejbtx">
	<include path="j2ee.dicon"/>
	<!--
		EJBのコンテナ管理トランザクション (CM) 仕様と互換のトランザクション・インターセプタを提供します．

		アスペクトを適用したメソッドから次の例外がスローされた場合はトランザクションをロールバックします．
			・java.lang.RuntimeException およびその派生例外．
			・java.rmi.RemoteException およびその派生例外．
		上記以外で次の例外がスローされた場合はトランザクションをコミットします．
			・java.lang.Exception およびその派生例外
		上記のいずれにも該当しない例外 (java.lang.Throwable，java.lang.Error とその派生例外)が
		スローされた場合はトランザクションをロールバックします．
	-->
	<component name="requiredTx"
		class="org.seasar.extension.tx.RequiredInterceptor">
		<initMethod name="addRollbackRule">
			<arg>@java.lang.RuntimeException@class</arg>
		</initMethod>
		<initMethod name="addRollbackRule">
			<arg>@java.rmi.RemoteException@class</arg>
		</initMethod>
		<initMethod name="addCommitRule">
			<arg>@java.lang.Exception@class</arg>
		</initMethod>
	</component>
	<component name="requiresNewTx"
		class="org.seasar.extension.tx.RequiresNewInterceptor">
		<initMethod name="addRollbackRule">
			<arg>@java.lang.RuntimeException@class</arg>
		</initMethod>
		<initMethod name="addRollbackRule">
			<arg>@java.rmi.RemoteException@class</arg>
		</initMethod>
		<initMethod name="addCommitRule">
			<arg>@java.lang.Exception@class</arg>
		</initMethod>
	</component>
	<component name="mandatoryTx"
		class="org.seasar.extension.tx.MandatoryInterceptor">
		<initMethod name="addRollbackRule">
			<arg>@java.lang.RuntimeException@class</arg>
		</initMethod>
		<initMethod name="addRollbackRule">
			<arg>@java.rmi.RemoteException@class</arg>
		</initMethod>
		<initMethod name="addCommitRule">
			<arg>@java.lang.Exception@class</arg>
		</initMethod>
	</component>
	<component name="notSupportedTx"
		class="org.seasar.extension.tx.NotSupportedInterceptor"/>
	<component name="neverTx"
		class="org.seasar.extension.tx.NeverInterceptor"/>
</components>
