[jboss-user] [JBoss AOP] New message: "Custom aspect domain does not work"
Andras Fejes
do-not-reply at jboss.com
Tue Jan 19 10:58:08 EST 2010
User development,
A new message was posted in the thread "Custom aspect domain does not work":
http://community.jboss.org/message/520859#520859
Author : Andras Fejes
Profile : http://community.jboss.org/people/afejes
Message:
--------------------------------------------------------------
Hi,
I have a session bean (ejb3) with a custom aspect domain. If the ejb is deployed as jar it works fine.
The *-aop.xml can be found in the jar META-INF.
If the ejb is deployed as EAR jboss5.1.0.GA throws exception:
{
org.jboss.deployers.spi.DeploymentException: Error deploying myaop-ejb.jar: No container configured with name 'TestDomain'' at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:196) at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:99) at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171) at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702) at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117) at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70) at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53) at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306) at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271) at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461) at org.jboss.Main.boot(Main.java:221) at org.jboss.Main$1.run(Main.java:556) at java.lang.Thread.run(Thread.java:619)Caused by: java.lang.RuntimeException: No container configured with name 'TestDomain'' at org.jboss.ejb3.Ejb3AnnotationHandler.getStatelessContainer(Ejb3AnnotationHandler.java:307) at org.jboss.ejb3.Ejb3AnnotationHandler.getContainers(Ejb3AnnotationHandler.java:203) at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:718) at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:669) at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:651) at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:614) at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:491) at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:182) ... 34 more16:34:37,375 ERROR ProfileServiceBootstrap Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):DEPLOYMENTS IN ERROR: Deployment "vfszip:/C:/work/servers/jboss-xxx/server/default/deploy/test.ear/" is in error due to the following reason(s): java.lang.RuntimeException: No container configured with name 'TestDomain''
}
I got the same result using the @AspectDomain annotaion in the bean or creating a jboss.xml (basis on the http://www.jboss.org/file-access/default/members/jbossejb3/freezone/docs/reference/1.0.7/html/SessionBean_and_MDB_configuration.html
In jboss4.2.3 this feature works correctly.
The ejb staff is:
package test.aop;public interface Hello{ void hello();}
package test.aop;import javax.ejb.Remote;import javax.ejb.Stateless;import org.jboss.ejb3.annotation.AspectDomain;@Stateless at Remote(Hello.class)@AspectDomain("TestDomain")public class HelloBean implements Hello{ @Override public void hello() { // TODO Auto-generated method stub }}
package test.aop;
import org.jboss.aop.advice.Interceptor;
import org.jboss.aop.joinpoint.Invocation;
public class HelloInterceptor implements Interceptor
{
public Object invoke(Invocation invocation) throws Throwable
{
System.out.println("*** say hello ***");
return invocation.invokeNext();
}
public String getName()
{
return HelloInterceptor.class.getName();
}
}
The custom aop is:
<?xml version="1.0" encoding="UTF-8"?><aop xmlns="urn:jboss:aop-beans:1.0"> <interceptor class="test.aop.HelloInterceptor" scope="PER_VM"></interceptor> <domain name="TestDomain"> <bind pointcut="execution(* $instanceof{@javax.ejb.Remote}->*(..))> <interceptor-ref name="test.aop.HelloInterceptor"></interceptor-ref> </bind> <annotation expr="!class(@org.jboss.ejb3.annotation.Pool)"> @org.jboss.ejb3.annotation.Pool (value=StrictMaxPool", maxSize=5, timeout=10000) </annotation> </domain></aop>
Anybody else had this issue?
Thanks
Andrew
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/520859#520859
More information about the jboss-user
mailing list