ProxyFactoryHA BasicMBeanRegistry "null object name"
----------------------------------------------------
Key: JBAS-6284
URL:
https://jira.jboss.org/jira/browse/JBAS-6284
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Clustering
Affects Versions: JBossAS-4.2.3.GA
Environment: Test environment Windows XP SP3
Reporter: Christophe Delory
Assignee: Brian Stansberry
I run in a JBoss cluster (my test involves here only 1 node in the default partition).
I want to declare a HA proxy factory for my distributed service.
Thus I add the following XML snippet in my service.xml file:
<mbean code="org.jboss.proxy.generic.ProxyFactoryHA" name="the object
name of my proxy factory">
<depends
optional-attribute-name="InvokerName">jboss:service=invoker,type=jrmpha</depends>
<depends optional-attribute-name="TargetName">the object name of
my target service</depends>
<attribute name="JndiName">my target service JNDI
name</attribute>
<attribute name="InvokeTargetMethod">true</attribute>
<attribute name="ExportedInterfaces">the public interface of my
target service</attribute>
<attribute name="ClientInterceptors">
<interceptors>
<interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
</interceptors>
</attribute>
<attribute
name="PartitionObjectName">jboss:service=${jboss.partition.name:DefaultPartition}</attribute>
<attribute
name="LoadBalancePolicy">org.jboss.ha.framework.interfaces.RoundRobin</attribute>
</mbean>
When I invoke the proxy, I get the following stack trace :
java.lang.IllegalArgumentException: null object name
at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:509)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:653)
at org.jboss.invocation.jrmp.server.JRMPInvokerHA.invoke(JRMPInvokerHA.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
at
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxyHA.invoke(JRMPInvokerProxyHA.java:211)
at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
at $Proxy65.<my remote method>(Unknown Source)
at <the initial invocation of the remote method>.<my remote method>(Unknown
Source)
......
I made the exact same test using the "normal" (i.e. not cluster-aware) version
of the proxy factory : in the service.xml file,
I changed the code attribute of the bean to
"org.jboss.invocation.jrmp.server.JRMPProxyFactory",
I changed the name of the invoker to "jboss:service=invoker,type=jrmp", and
I removed the two attributes dedicated to the clustered version (PartitionObjectName and
LoadBalancePolicy).
The invocation of my public remote method raised no error.
Thus there are two cases : either I miss something in the XML declaration of the HA proxy
factory, or there is a bug in the underlying implementation.
Thanks for your help.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira