[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