[jboss-jira] [JBoss JIRA] Created: (JBMICROCONT-176) Injection of KernelController fails in bootstrap xml

Scott M Stark (JIRA) jira-events at lists.jboss.org
Thu Apr 5 13:16:58 EDT 2007


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


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