[jboss-dev-forums] [Design of AOP on JBoss (Aspects/JBoss)] - Re: ManagedObject stuff for AOP
scott.stark@jboss.org
do-not-reply at jboss.com
Tue Nov 6 13:34:14 EST 2007
Container configuration type settings like those used by ejb3:
| <?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE aop PUBLIC
| "-//JBoss//DTD JBOSS AOP 1.0//EN"
| "http://labs.jboss.com/portal/jbossaop/dtd/jboss-aop_1_0.dtd">
|
| <aop>
| <interceptor class="org.jboss.aspects.remoting.InvokeRemoteInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.aspects.security.SecurityClientInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.aspects.tx.ClientTxPropagationInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.ejb3.remoting.IsLocalInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.aspects.remoting.ClusterChooserInterceptor" scope="PER_VM"/>
|
| <interceptor class="org.jboss.aspects.tx.TxPropagationInterceptor" scope="PER_VM"/>
|
| <stack name="ServiceClientInterceptors">
| <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
| </stack>
|
| <stack name="AsynchronousStatelessSessionClientInterceptors">
| <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
| </stack>
|
| <stack name="AsynchronousStatefulSessionClientInterceptors">
| <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
| </stack>
|
| <stack name="StatelessSessionClientInterceptors">
| <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
| </stack>
|
| <stack name="StatefulSessionClientInterceptors">
| <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
| </stack>
|
| <stack name="ClusteredStatelessSessionClientInterceptors">
| <interceptor-ref name="org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
| </stack>
|
| <stack name="ClusteredStatefulSessionClientInterceptors">
| <interceptor-ref name="org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
| </stack>
|
| <interceptor class="org.jboss.ejb3.asynchronous.AsynchronousInterceptor" scope="PER_CLASS"/>
| <interceptor class="org.jboss.ejb3.ENCPropagationInterceptor" scope="PER_VM"/>
| <interceptor name="Basic Authorization" factory="org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorFactory" scope="PER_CLASS"/>
| <interceptor name="JACC Authorization" factory="org.jboss.ejb3.security.JaccAuthorizationInterceptorFactory" scope="PER_CLASS"/>
| <interceptor factory="org.jboss.ejb3.security.AuthenticationInterceptorFactory" scope="PER_CLASS"/>
| <interceptor factory="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory" scope="PER_CLASS"/>
| <interceptor class="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.ejb3.stateless.StatelessInstanceInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.ejb3.stateful.StatefulInstanceInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.ejb3.service.ServiceSingletonInterceptor" scope="PER_VM"/>
| <interceptor class="org.jboss.ejb3.cache.StatefulReplicationInterceptor" scope="PER_VM"/>
| <interceptor factory="org.jboss.ejb3.stateful.StatefulRemoveFactory" scope="PER_CLASS_JOINPOINT"/>
| <interceptor factory="org.jboss.ejb3.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/>
| <interceptor factory="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory" scope="PER_CLASS_JOINPOINT"/>
| <interceptor factory="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory" scope="PER_CLASS"/>
| <interceptor class="org.jboss.ejb3.AllowedOperationsInterceptor" scope="PER_VM"/>
| <interceptor factory="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory" scope="PER_CLASS"/>
| <interceptor class="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor" scope="PER_VM"/>
|
| <domain name="Stateless Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
| <interceptor-ref name="Basic Authorization"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
| <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
| <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
| @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
| </domain>
|
| <domain name="JACC Stateless Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
| <interceptor-ref name="JACC Authorization"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
| <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
| <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
| @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
| </domain>
|
| <domain name="Base Stateful Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
| <interceptor-ref name="Basic Authorization"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
| <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
| <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| </bind>
| <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
| </bind>
|
| <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
| <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
| </bind>
|
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
|
| <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
| @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
| </domain>
|
| <domain name="Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
| <!-- NON Clustered cache configuration -->
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND !class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.simple.SimpleStatefulCache.class)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.PersistenceManager) AND !class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.simple.PersistenceManager (org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.class)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.CacheConfig) AND !class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.simple.CacheConfig (maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
| </annotation>
|
| <!-- Clustered cache configuration -->
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.tree.StatefulTreeCache.class)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.tree.CacheConfig) AND class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.tree.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
| </annotation>
| </domain>
|
| <domain name="JACC Stateful Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
| <interceptor-ref name="JACC Authorization"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
| <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
| <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
| <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| </bind>
| <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
|
| <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
| <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
| </bind>
| <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
| @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
|
| <!-- NON Clustered cache configuration -->
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND !class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.simple.SimpleStatefulCache.class)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.PersistenceManager) AND !class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.simple.PersistenceManager (org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.class)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.CacheConfig) AND !class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.simple.CacheConfig (maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
| </annotation>
|
| <!-- Clustered cache configuration -->
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.tree.StatefulTreeCache.class)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.tree.CacheConfig) AND class(@org.jboss.annotation.ejb.Clustered)">
| @org.jboss.annotation.ejb.cache.tree.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)
| </annotation>
| </domain>
|
| <domain name="Embedded Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
| <!-- NON Clustered cache configuration -->
| <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache)">
| @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.NoPassivationCache.class)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
|
| </domain>
|
| <domain name="Message Driven Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <!-- TODO: Authorization? -->
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
| <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
| @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=15, timeout=10000)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
| </domain>
|
| <domain name="Consumer Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| </bind>
| <bind pointcut="execution(public * *->*(..)) AND (has(* *->@org.jboss.annotation.ejb.CurrentMessage(..)) OR hasfield(* *->@org.jboss.annotation.ejb.CurrentMessage))">
| <interceptor-ref name="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
| <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
| @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=15, timeout=10000)
| </annotation>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
| </domain>
|
| <domain name="Service Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
| </bind>
| <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
| <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
| <interceptor-ref name="Basic Authorization"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| </bind>
| <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
| </domain>
|
| <domain name="JACC Service Bean">
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
| </bind>
| <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
| <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
| <interceptor-ref name="Basic Authorization"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
| </bind>
| <bind pointcut="execution(public * *->*(..))">
| <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
| <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
| <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
| </bind>
| <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
| <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
| </bind>
| <annotation expr="!class(@org.jboss.annotation.ejb.JndiBindingPolicy)">
| @org.jboss.annotation.ejb.JndiBindingPolicy (policy=org.jboss.ejb3.jndipolicy.PackagingBasedJndiBindingPolicy.class)
| </annotation>
| </domain>
| </aop>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4102308#4102308
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4102308
More information about the jboss-dev-forums
mailing list