[jboss-jira] [JBoss JIRA] Closed: (JBMICROCONT-176) Injection of KernelController fails in bootstrap xml
Ales Justin (JIRA)
jira-events at lists.jboss.org
Sat Jul 21 02:06:10 EDT 2007
[ http://jira.jboss.com/jira/browse/JBMICROCONT-176?page=all ]
Ales Justin closed JBMICROCONT-176.
-----------------------------------
Resolution: Done
> Injection of KernelController fails in bootstrap xml
> ----------------------------------------------------
>
> Key: JBMICROCONT-176
> URL: http://jira.jboss.com/jira/browse/JBMICROCONT-176
> Project: JBoss MicroContainer
> Issue Type: Bug
> Affects Versions: JBossMC_2_0_0 Beta3
> Reporter: Scott M Stark
> Assigned To: Ales Justin
> Fix For: JBossMC-2.0.0.Beta4
>
>
> If I attempt to the KernelController into the HDScanner defined in the conf/bootstrap-beans.xml using:
> <!-- Hotdeployment of applications -->
> <bean name="HDScanner"
> class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
> <property name="mainDeployer"><inject bean="MainDeployer"/></property>
> <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
> <property name="profileService"><inject bean="ProfileService"/></property>
> <property name="scanPeriod">5000</property>
> <property name="scanThreadName">HDScanner</property>
> </bean>
> this fails with:
> 10:10:51,406 ERROR [AbstractKernelController] Error installing to Configured: name=HDScanner state=Instantiated
> java.lang.IllegalArgumentException: Wrong arguments. setController for target org.jboss.system.server.profileservice.hotdeploy.HDScanner at 568bf3ec expected=[org.jboss.kernel.spi.dependency.KernelController] actual=[org.jboss.kernel.Kernel]
> at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:224)
> at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)
> at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:108)
> at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
> at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:103)
> at org.jboss.kernel.plugins.dependency.ConfigureAction.setAttributes(ConfigureAction.java:137)
> at org.jboss.kernel.plugins.dependency.ConfigureAction.installActionInternal(ConfigureAction.java:60)
> at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:197)
> at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.install(KernelControllerContextAction.java:136)
> at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
> at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:233)
> at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:724)
> at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:445)
> at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:555)
> at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:489)
> at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:289)
> at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:192)
> at org.jboss.system.ServiceController.doInstall(ServiceController.java:638)
> at org.jboss.system.ServiceController.register(ServiceController.java:344)
> at org.jboss.system.ServiceController.start(ServiceController.java:415) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:194)
> at org.jboss.aop.deployment.AspectManagerService.postRegister(AspectManagerService.java:634)
> at org.jboss.mx.server.AbstractMBeanInvoker.invokePostRegister(AbstractMBeanInvoker.java:974)
> at org.jboss.mx.server.AbstractMBeanInvoker.postRegister(AbstractMBeanInvoker.java:681)
> at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:336)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
> at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:138)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
> at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:140)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jboss.mx.server.MBeanServerImpl$3.run(MBeanServerImpl.java:1431) at java.security.AccessController.doPrivileged(Native Method)
> at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1426)
> at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:376)
> at org.jboss.aop.deployers.AspectManagerJMXRegistrar.start(AspectManagerJMXRegistrar.java:57)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:55)
> at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:108)
> at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
> at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:103)
> at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:145)
> at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:197)
> at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.install(KernelControllerContextAction.java:136)
> at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
> at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:233)
> at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:724)
> at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:445)
> at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:555)
> at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:489)
> at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:289)
> at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:192)
> at org.jboss.kernel.plugins.dependency.AbstractKernelController.install(AbstractKernelController.java:84)
> at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootstrap(ProfileServiceBootstrap.java:232)
> at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
> at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.java:403)
> at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.java:342)
> at org.jboss.Main.boot(Main.java:210)
> at org.jboss.Main$1.run(Main.java:522)
> at java.lang.Thread.run(Thread.java:595)
> Going through the code, the failure occurs because the AbstractDependencyValueMetaData.getValue requires a property != null && lookup instanceof AttributeDispatchContext. The lookup in this case is a KernelRegistryEntry, so the property value is not retrieved and instead the bean is used as the value.
> public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
> {
> ControllerState state = dependentState;
> if (state == null)
> state = ControllerState.INSTALLED;
> Controller controller = context.getController();
> ControllerContext lookup = controller.getContext(value, state);
> if (lookup == null)
> throw new Error("Should not be here - dependency failed! " + this);
> Object result = lookup.getTarget();
> if (property != null && lookup instanceof AttributeDispatchContext)
> {
> AttributeDispatchContext adc = (AttributeDispatchContext) lookup;
> result = adc.get(property);
> }
> return info != null ? info.convertValue(result) : result;
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list