Thanks for your response. I searched the forums prior to sending in my message, but
didn't find the articles you pointed me to. I think I'm making progress, but am
still coming up short.
My applications are external to JBoss. I'm able to send/receive messages without any
problem. However, my sender app wants to monitor the number of messages in the queue via
JMX. From the links you pointed me to, I think my problem was mostly descriptor related.
I now have:
<mbean code="org.jboss.jms.server.destination.QueueService"
| name="jboss.messaging.destination:service=Queue,name=MyQueue"
| xmbean-dd="xmdesc/Queue-xmbean.xml">
| <depends
optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
| <depends>jboss.message:service=PostOffice</depends>
| ...snip security part guest read write
| </mbean>
|
| <mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
|
name="jboss.jmx:type=adaptor,name=MyQueueTarget,protocol=jrmp,service=proxyFactory">
| <depends
optional-attribute-name="InvokerName">jboss:service=invoker,type=jrmp</depends>
| <depends optional-attribute-name="TargetName">
| jboss.messaging.destination:service=Queue,name=MyQueue
| </depends>
| <attribute name="JndiName">MyQueueMBean</attribute>
| <attribute name="InvokeTargetMethod">true</attribute>
| <attribute
name="ExportedInterfaces">org.jboss.jms.server.destination.QueueMBean</attribute>
| <attribute name="ClientInterceptors">
| <interceptors>
|
<interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
|
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
|
<interceptor>org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor</interceptor>
|
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
| </interceptors>
| </attribute>
| </mbean>
|
Inside my code, Its really simple:
| mBeanServer = (MBeanServerConnection) ctx.lookup("jmx/rmi/RMIAdaptor");
| org.jboss.jms.serer.destination.QueueMBean qmbean =
(org.jboss.jms.server.destination.QueueMBean) ctx.lookup("MyQueueMBean");
System.out.println(qmbean) --> JRMPInvokerProxy
When I attempt to do a qmbean.getMessageCount() I get an IllegalStateException: Failed to
find method for hash:..... and it then prints the methods available on a QueueMBean.
I *have* searched the forum and this error seems to imply a jar related problem. I have
ensured that my version of jboss-messaging-client.jar is one provided in messaging
1.2.0sp1. I have looked at the dates on the QueueMBean class within that jar, and they
match the dates/size of the QueueMBean located in the
jboss/server/messaging/deploy/jboss-messaging.sar/jboss-messaging.jar.
One post I read at
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=92737
says that there was a problem with old JMX classes bundled in the
jboss-messaging-client.jar. I removed those and it still doesn't work.
The jboss-messaging-client.jar is the first jar in my classpath.
At this point, I'm not sure where the incompatibility is. Any ideas?
Thanks.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048486#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...