[jboss-user] [Management, JMX/JBoss] - A question about injection vs. lookup of JMX service

yair.zaslavsky do-not-reply at jboss.com
Thu Sep 7 11:28:27 EDT 2006


Hi all,
I have a pojo that tries to invoke a method on a service (i lookup the service and then perform the invocation).

I get the following exception:
14:31:00,125 INFO  [STDOUT] Getting job

14:31:00,391 ERROR [AMSAddContentRequest] Error during adding content

java.lang.RuntimeException: Could not find  type for operation 'add' on com.imag

ine.ams.logic.content_priority_manager.ContentPriorityManagerMBean

        at org.jboss.ejb3.service.ServiceMBeanDelegate.getOperation(ServiceMBean

Delegate.java:374)

        at org.jboss.ejb3.service.ServiceMBeanDelegate.invoke(ServiceMBeanDelega

te.java:165)

        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:1

64)

        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces

sorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:585)

        at org.jboss.jmx.connector.invoker.InvokerAdaptorService.invoke(InvokerA

daptorService.java:266)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces

sorImpl.java:25)


However, this pojo is used from inside a session bean. When I perform dependency injection inside the bean, and pass the injected service as parameter to the pojo, the method gets activated.
I have no ClassCastException or NullPointerException in the lookup, here is the lookup code:

String providerURL = AMSConfigurationProxy.getAMSConfiguration().getHost() + ":1099";
					Hashtable props = new Hashtable();
					props.put(InitialContext.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
					props.put(InitialContext.PROVIDER_URL,providerURL);
					
					InitialContext ctx = new InitialContext(props);
					MBeanServerConnection mbsc = (MBeanServerConnection)ctx.lookup("jmx/invoker/RMIAdaptor");
					ObjectName objName = new ObjectName("ams:service=contentPriorityManager");
					
					manager = (ContentPriorityManager)MBeanServerInvocationHandler.newProxyInstance(mbsc,
			                   objName,ContentPriorityManager.class,false);
		

Can you please help me understand why i cannot activate the method "add" after the lookup?
(I'm using jboss 4.0.4GA)

Thanks

Yair Zaslavsky

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

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



More information about the jboss-user mailing list