[jboss-dev-forums] [Design the new POJO MicroContainer] - Problem deploying bean with a property annotation

scott.stark@jboss.org do-not-reply at jboss.com
Sun Sep 23 13:50:12 EDT 2007


If I deploy a bean like:

  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <deployment xmlns="urn:jboss:bean-deployer:2.0">
  |    <bean name="AnnotatedBean" class="org.jboss.test.deployers.vfs.deployer.bean.support.AnnotatedBean">
  |       <annotation>@org.jboss.managed.api.annotation.ManagementComponent(type="MCBean",subtype="AnnotationTest")</annotation>
  |       <!-- Test -->
  | 	   <property name="propWithXmlOverride">
  | 	      <annotation>@org.jboss.managed.api.annotation.ManagementProperty(name="prop3", mappedName="propWithXmlOverride", description="ManagedProperty defined via xml annotation")</annotation>
  | 	   </property>
  |    </bean>
  | 

I see:
anonymous wrote : 
  | 17610 ERROR [AbstractKernelController] Error installing to Configured: name=AnnotatedBean state=Instantiated
  | java.lang.IllegalArgumentException: Null value metadata
  | 	at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoint(Configurator.java:497)
  | 	at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoint(Configurator.java:444)
  | 	at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoints(Configurator.java:408)
  | 	at org.jboss.kernel.plugins.config.AbstractKernelConfigurator.getPropertySetterJoinPoints(AbstractKernelConfigurator.java:120)
  | 	at org.jboss.kernel.plugins.dependency.ConfigureAction.installActionInternal(ConfigureAction.java:59)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:137)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:1)
  | 	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
  | 	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
  | 	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
  | 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
  | 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:574)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:398)
  | 	at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:68)
  | 	at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:1)
  | 	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.deploy(AbstractSimpleRealDeployer.java:65)
  | 	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:728)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:749)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:669)
  | 	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
  | 	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
  | 	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:495)
  | 	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:354)
  | 	at org.jboss.test.deployers.vfs.deployer.jaxp.DeployerClientTestCase.assertDeploy(DeployerClientTestCase.java:57)
  | 	at org.jboss.test.deployers.vfs.deployer.jaxp.DeployerClientTestCase.assertDeploy(DeployerClientTestCase.java:46)
  | 	at org.jboss.test.deployers.vfs.deployer.bean.test.BeanManagedDeploymentUnitTestCase.testBeanManagedObject(BeanManagedDeploymentUnitTestCase.java:59)
  | 

If I add a value with any whitespace I see:

  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <deployment xmlns="urn:jboss:bean-deployer:2.0">
  |    <bean name="AnnotatedBean" class="org.jboss.test.deployers.vfs.deployer.bean.support.AnnotatedBean">
  |       <annotation>@org.jboss.managed.api.annotation.ManagementComponent(type="MCBean",subtype="AnnotationTest")</annotation>
  |       <!-- Test -->
  | 	   <property name="propWithXmlOverride">
  | 	      <annotation>@org.jboss.managed.api.annotation.ManagementProperty(name="prop3", mappedName="propWithXmlOverride", description="ManagedProperty defined via xml annotation")</annotation>
  |            10
  | 	   </property>
  |    </bean>
  | 

I see:
anonymous wrote : 
  | 1969 ERROR [AbstractKernelController] Error installing to Configured: name=AnnotatedBean state=Instantiated
  | java.lang.NumberFormatException: For input string: "
  | 	      10"
  | 	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
  | 	at java.lang.Integer.parseInt(Integer.java:447)
  | 	at java.lang.Integer.valueOf(Integer.java:553)
  | 	at sun.beans.editors.IntEditor.setAsText(IntEditor.java:21)
  | 	at org.jboss.reflect.plugins.ValueConvertor.convertValue(ValueConvertor.java:120)
  | 	at org.jboss.reflect.spi.PrimitiveInfo.convertValue(PrimitiveInfo.java:169)
  | 	at org.jboss.beans.metadata.plugins.StringValueMetaData.getValue(StringValueMetaData.java:101)
  | 	at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoint(Configurator.java:500)
  | 	at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoint(Configurator.java:444)
  | 	at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoints(Configurator.java:408)
  | 	at org.jboss.kernel.plugins.config.AbstractKernelConfigurator.getPropertySetterJoinPoints(AbstractKernelConfigurator.java:120)
  | 	at org.jboss.kernel.plugins.dependency.ConfigureAction.installActionInternal(ConfigureAction.java:59)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:137)
  | 	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:1)
  | 	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
  | 
  | 

If the property value is given with no whitespace it deploys correctly. We should be able to specify a property with just an annotation. In terms of the whitespace behavior, I would say the StringValueMetaData should also have a trim property that is also true by default.


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

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



More information about the jboss-dev-forums mailing list