tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jon Dickinson" <jonmdickin...@googlemail.com>
Subject JMX Cluster invoke problems
Date Tue, 18 Jul 2006 11:47:58 GMT
Hi,

I am trying to get my web application to send a message to the other nodes
in the cluster. I am planning on using JMX to do this.

So far I have been able to query all the information I need but I am unable
to invoke the send command.

I have followed the instructions in an earlier post with the subject
"Cluster and notifications to nodes". In summary here they are again:

 a)   mark application as priviliged=true
 b)   define and implement your own ClusterMessage
 c)   via MbeansServer you got the
 Catalina:type=Cluster,host=localhost
 mbean and send your
 operation ( send(ClusterMessage)).
 d)   Register a ClusterListener.


My version of step c looks like:

        Registry registry = Registry.getRegistry(null, null);
        MBeanServer server = registry.getMBeanServer();
        ObjectName cluster = new
ObjectName("simple-cluster:type=Cluster,host=localhost");
        server.invoke(cluster, "send", new Object[] {new
ClusterEventMessage()}, new String[] {"
org.apache.catalina.cluster.ClusterMessage"});

I am using Tomcat 5.5.12.

See below for the exception that I get:

2006-07-18 12:22:53,875 ERROR http-8090-Processor25
jmxtests.SendEventServlet - Cannot find method send with this signature
javax.management.ReflectionException: Cannot find method send with this
signature
    at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java
:490)
    at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(
DynamicMetaDataImpl.java:213)
    at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java :220)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(
DefaultMBeanServerInterceptor.java:815)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java
:784)
    at jmxtests.SendEventServlet.service (SendEventServlet.java:54)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java :173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke (
StandardHostValve.java:126)
    at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(
ReplicationValve.java:247)
    at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke (
StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:868)
    at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(
Http11BaseProtocol.java:663)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
LeaderFollowerWorkerThread.java :80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoSuchMethodException:
org.apache.catalina.cluster.tcp.SimpleTcpCluster.send (
org.apache.catalina.cluster.ClusterMessage)
    at java.lang.Class.getMethod(Class.java:1581)
    at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java
:484)
    ... 20 more

Thanks,
Jon.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message