Samples JDK
HelloServiceImpl.java
1 package com.freemindcafe.jmx.sample2.client;
2 
3 import javax.management.MBeanServerConnection;
4 import javax.management.MBeanServerInvocationHandler;
5 import javax.management.ObjectName;
6 import javax.management.remote.JMXConnector;
7 import javax.management.remote.JMXConnectorFactory;
8 import javax.management.remote.JMXServiceURL;
9 
11 
12 public class HelloServiceImpl implements IHelloService {
13 
14  IHelloService helloService;
15 
16  public HelloServiceImpl(){
17  String jmxPort = "1919";
18  String hostName = "localhost";
19  String mbean = "com.eMeter.localhost.appName.appInstance:name=EIP.IHelloService";
20 
21  JMXServiceURL url;
22  try {
23  url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:"+jmxPort+"/EIPRMIConnector");
24  JMXConnector jmxc = JMXConnectorFactory.connect(url);
25  MBeanServerConnection conn = jmxc.getMBeanServerConnection();
26  ObjectName objectName = new ObjectName(mbean);
27  //ObjectName activeMQ = new ObjectName("org.apache.activemq:BrokerName=localhost,Type=Broker");
28  helloService = (IHelloService) MBeanServerInvocationHandler
29  .newProxyInstance(conn, objectName,
30  IHelloService.class, true);
31  } catch (Exception e) {
32  e.printStackTrace();
33  }
34 
35  }
36 
37  @Override
38  public void sayHello() {
39  helloService.sayHello();
40  }
41 
42  @Override
43  public int add(int x, int y) {
44  // TODO Auto-generated method stub
45  return 0;
46  }
47 
48  @Override
49  public String getName() {
50  // TODO Auto-generated method stub
51  return null;
52  }
53 
54  @Override
55  public int getCacheSize() {
56  // TODO Auto-generated method stub
57  return 0;
58  }
59 
60  @Override
61  public void setCacheSize(int size) {
62  // TODO Auto-generated method stub
63 
64  }
65 
66 }
This sample does not use JMXConnectorServer and the MBean can be accessed from jconsole.