[jboss-dev-forums] [Design of POJO Server] - Re: @JMX aspect and aop/mc integration

bstansberry@jboss.com do-not-reply at jboss.com
Mon Nov 13 16:15:59 EST 2006


Thanks, that worked. To express my gratitude, here's another one ;-)

Problem now is a bean with a non-default constructor -- the value passed to the c'tor is null if the @JMX annotation is applied.  E.g.:

<bean name="HAPartition"
  |    		 class="org.jboss.ha.framework.server.ClusterPartition">
  |    	<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=DefaultPartition", exposedInterface=org.jboss.ha.framework.server.ClusterPartitionMBean.class)</annotation>
  |       
  |    	.....
  |       
  | </bean>
  | 
  | <bean name="DistributedReplicantManager" 
  |          class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">
  |          
  |       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=DistributedReplicantManager,partition=DefaultPartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class)</annotation>
  |       
  |       <constructor>
  |          <parameter class="org.jboss.ha.framework.server.ClusterPartition"><inject name="HAPartition"/></parameter>
  |        </constructor>
  |       
  | </bean>

Results in:

2006-11-13 15:03:23,906 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Instantiated: name=DistributedReplicantManager state=Described
  | java.lang.RuntimeException: java.lang.NullPointerException
  | 	at org.jboss.aop.proxy.container.GeneratedAOPProxyFactory.getProxy(GeneratedAOPProxyFactory.java:115)
  | 	at org.jboss.aop.proxy.container.GeneratedAOPProxyFactory.createAdvisedProxy(GeneratedAOPProxyFactory.java:75)
  | 	at org.jboss.aop.proxy.container.GeneratedAOPProxyFactory.createAdvisedProxy(GeneratedAOPProxyFactory.java:39)
  | 	at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:82)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:71)
  | 	at org.jboss.kernel.plugins.dependency.InstantiateAction.installAction(InstantiateAction.java:52)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.install(KernelControllerContextAction.java:96)
  | 	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
  | 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:226)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:709)
  | 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:429)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:538)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:472)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:274)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:177)
  | 	at org.jboss.deployers.plugins.deployers.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:67)
  | 	at org.jboss.deployers.plugins.deployers.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:42)
  | 	at org.jboss.deployers.plugins.deployers.helpers.AbstractSimpleRealDeployer.deploy(AbstractSimpleRealDeployer.java:53)
  | 	at org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer.commitDeploy(AbstractSimpleDeployer.java:52)
  | 	at org.jboss.deployers.plugins.deployer.DeployerWrapper.commitDeploy(DeployerWrapper.java:145)
  | 	at org.jboss.deployers.plugins.deployment.MainDeployerImpl.commitDeploy(MainDeployerImpl.java:440)
  | 	at org.jboss.deployers.plugins.deployment.MainDeployerImpl.commitDeploy(MainDeployerImpl.java:451)
  | 	at org.jboss.deployers.plugins.deployment.MainDeployerImpl.process(MainDeployerImpl.java:381)
  | 	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:366)
  | 	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootstrap(ProfileServiceBootstrap.java:246)
  | 	at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
  | 	at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.java:401)
  | 	at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.java:340)
  | 	at org.jboss.Main.boot(Main.java:210)
  | 	at org.jboss.Main$1.run(Main.java:508)
  | 	at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.lang.NullPointerException
  | 	at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.<init>(DistributedReplicantManagerImpl.java:114)
  | 	at org.jboss.ha.framework.server.DistributedReplicantManagerImpl.<init>(DistributedReplicantManagerImpl.java:99)
  | 	at AOPContainerProxy$2.<init>(AOPContainerProxy$2.java)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  | 	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  | 	at java.lang.Class.newInstance0(Class.java:350)
  | 	at java.lang.Class.newInstance(Class.java:303)
  | 	at org.jboss.aop.proxy.container.GeneratedAOPProxyFactory.instantiateAndConfigureProxy(GeneratedAOPProxyFactory.java:128)
  | 	at org.jboss.aop.proxy.container.GeneratedAOPProxyFactory.getProxy(GeneratedAOPProxyFactory.java:111)
  | 	... 30 more

NPE is because the HAPartition ref passed in to the constructor is null.  If I remove the @JMX annotation from the DistributedReplicantManager bean, it deploys fine.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3985616#3985616

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3985616



More information about the jboss-dev-forums mailing list