mx4j/src/examples/mx4j/examples/tools/adaptor/http HttpAdaptor.java,1.1,1.2
Simone Bordet <[email protected]> Sat, 28 Aug 2004 12:40:44 +0000
| Newsgroups | gmane.comp.java.mx4j.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/mx4j/mx4j/src/examples/mx4j/examples/tools/adaptor/http
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29113/src/examples/mx4j/examples/tools/adaptor/http
Modified Files:
HttpAdaptor.java
Log Message:
Made the MBean interface public. Fix for bug #981064
Index: HttpAdaptor.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/examples/mx4j/examples/tools/adaptor/http/HttpAdaptor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** HttpAdaptor.java 4 Nov 2003 00:25:31 -0000 1.1
--- HttpAdaptor.java 28 Aug 2004 12:40:42 -0000 1.2
***************
*** 6,35 ****
* See the terms of the MX4J License in the documentation provided with this software.
*/
package mx4j.examples.tools.adaptor.http;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
- import javax.management.ObjectName;
- import javax.management.JMException;
- import javax.management.Attribute;
import javax.management.NotificationBroadcasterSupport;
! import javax.management.MBeanNotificationInfo;
! import javax.management.openmbean.TabularData;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.CompositeType;
import javax.management.openmbean.OpenType;
import javax.management.openmbean.SimpleType;
! import javax.management.openmbean.OpenDataException;
! import java.net.URL;
! import java.net.MalformedURLException;
! import java.util.Map;
! import java.util.HashMap;
! import java.util.List;
! import java.util.ArrayList;
! import java.util.Date;
! import java.math.BigInteger;
! import java.math.BigDecimal;
! import mx4j.tools.stats.TimedStatisticsRecorder ;
/**
--- 6,36 ----
* See the terms of the MX4J License in the documentation provided with this software.
*/
+
package mx4j.examples.tools.adaptor.http;
+ import java.math.BigDecimal;
+ import java.math.BigInteger;
+ import java.net.MalformedURLException;
+ import java.net.URL;
+ import java.util.ArrayList;
+ import java.util.Date;
+ import java.util.HashMap;
+ import java.util.List;
+ import java.util.Map;
+ import javax.management.Attribute;
+ import javax.management.JMException;
+ import javax.management.MBeanNotificationInfo;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.NotificationBroadcasterSupport;
! import javax.management.ObjectName;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.CompositeType;
+ import javax.management.openmbean.OpenDataException;
import javax.management.openmbean.OpenType;
import javax.management.openmbean.SimpleType;
!
! import mx4j.tools.stats.TimedStatisticsRecorder;
/**
***************
*** 41,305 ****
public class HttpAdaptor
{
! private int port = 8080;
! private String host = "localhost";
! private String path = null, pathInJar = null;
! private static interface TestClassMBean
! {
! public URL getURL();
! public void setURL(URL url);
! public String getStr();
! public String[] getStrArray();
! public Double getDouble();
! public boolean isTrue();
! public void setStr(String str);
! public void setStrArray(String[] str);
! public Boolean aMethod(String string);
! public void anotherMethod(String string, int test);
! public Map getaMap();
! public List getaList();
! public Date getDate();
! public void setDate(Date date);
! public BigInteger getBigInteger();
! public void setBigInteger(BigInteger integer);
! public BigDecimal getBigDecimal();
! public void setBigDecimal(BigDecimal decimal);
! public CompositeData getCompositeData();
! public void setCompositeData(CompositeData composite);
! }
! public static class TestClass extends NotificationBroadcasterSupport implements TestClassMBean
! {
! private String[] strArray = new String[] {"first", "second"};
! private String str;
! private URL url;
! private List list = new ArrayList();
! private Map map = new HashMap();
! private Date date = new Date();
! private BigInteger bigInteger = new BigInteger("123456789101112131415");
! private BigDecimal bigDecimal = new BigDecimal("123456789101112131415.987654321");
! private CompositeData compositeData = null;
! public TestClass(String str, URL url)
! {
! this.str = str;
! this.url = url;
! list.add("a");
! list.add("b");
! list.add("c");
! map.put("1", "a");
! map.put("2", "b");
! map.put("3", "c");
! try {
! CompositeType type = new CompositeType("My type",
! "My type",
! new String[] {"item1", "item2"},
! new String[] {"item1", "item2"},
! new OpenType[] {SimpleType.STRING, SimpleType.STRING});
! compositeData = new CompositeDataSupport(type, new String[] {"item1", "item2"}, new Object[] {"item value 1", "item value 2"});
! } catch (OpenDataException e) {
! e.printStackTrace();
! }
! }
! public void setCompositeData(CompositeData compositeData) {
! this.compositeData = compositeData;
! }
! public CompositeData getCompositeData() {
! return compositeData;
! }
! public void setBigInteger(BigInteger bigInteger) {
! this.bigInteger = bigInteger;
! }
! public BigInteger getBigInteger() {
! return bigInteger;
! }
! public void setBigDecimal(BigDecimal bigDecimal) {
! this.bigDecimal = bigDecimal;
! }
! public BigDecimal getBigDecimal() {
! return bigDecimal;
! }
! public void setDate(Date date)
! {
! this.date = date;
! }
! public Date getDate()
! {
! return date;
! }
! public void setURL(URL url)
! {
! this.url = url;
! }
! public URL getURL()
! {
! return url;
! }
! public String getStr()
! {
! return str;
! }
! public void setStr(String str)
! {
! this.str = str;
! }
! public String[] getStrArray()
! {
! return strArray;
! }
! public void setStrArray(String[] strArray)
! {
! this.strArray = strArray;
! }
! public Double getDouble()
! {
! return new Double(100*Math.random());
! }
! public boolean isTrue()
! {
! return true;
! }
! public Boolean aMethod(String string)
! {
! return new Boolean(string.equals("true"));
! }
! public void anotherMethod(String string, int test)
! {
! this.str = string;
! }
! public MBeanNotificationInfo[] getNotificationInfo()
! {
! MBeanNotificationInfo[] notifications = new MBeanNotificationInfo[1];
! notifications[0] = new MBeanNotificationInfo(new String[] {"test1"
! , "test2"}, "name", "test");
! return notifications;
! }
! public Map getaMap()
! {
! return map;
! }
! public List getaList()
! {
! return list;
! }
! }
! /**
! * Creates a new HttpAdaptor example. You can optionally pass the host/port as
! * java -cp CLASSPATH adaptor.http.HttpAdaptor localhost 8080 path
! */
! public HttpAdaptor(String args[])
! {
! if (args.length > 0)
! {
! host = args[0];
! }
! if (args.length > 1)
! {
! port = Integer.parseInt(args[1]);
! }
! if (args.length > 2)
! {
! path = args[2];
! }
! if (args.length > 3)
! {
! pathInJar = args[3];
! }
! }
! /**
! * Starts the http server
! */
! public void start() throws JMException, MalformedURLException
! {
! // creates new server
! MBeanServer server = MBeanServerFactory.createMBeanServer("test");
! ObjectName serverName = new ObjectName("Http:name=HttpAdaptor");
! server.createMBean("mx4j.tools.adaptor.http.HttpAdaptor", serverName, null);
! // set attributes
! if (port > 0)
! {
! server.setAttribute(serverName, new Attribute("Port", new Integer(port)));
! }
! else
! {
! System.out.println("Incorrect port value " + port);
! }
! if (host != null)
! {
! server.setAttribute(serverName, new Attribute("Host", host));
! }
! else
! {
! System.out.println("Incorrect null hostname");
! }
! // set the XSLTProcessor. If you want to use pure XML comment this out
! ObjectName processorName = new ObjectName("Http:name=XSLTProcessor");
! server.createMBean("mx4j.tools.adaptor.http.XSLTProcessor", processorName, null);
! if (path != null)
! {
! server.setAttribute(processorName, new Attribute("File", path));
! }
! server.setAttribute(processorName, new Attribute("UseCache", new Boolean(false)));
! if (pathInJar != null)
! {
! server.setAttribute(processorName, new Attribute("PathInJar", pathInJar));
! }
! server.setAttribute(serverName, new Attribute("ProcessorName", processorName));
! // add a couple of MBeans
! TestClass test1 = new TestClass("t1", new URL("http://mx4j.sourceforge.net"));
! TestClass test2 = new TestClass("t1", new URL("http://www.sourceforge.net/projects/mx4j"));
! server.registerMBean(test1, new ObjectName("Test:name=test1"));
! server.registerMBean(test2, new ObjectName("Test:name=test2"));
! // add a stats MBean
! TimedStatisticsRecorder recoder = new TimedStatisticsRecorder();
! recoder.setObservedObject(new ObjectName("Test:name=test1"));
! recoder.setObservedAttribute("Double");
! server.registerMBean(recoder, new ObjectName("Test:name=test1recorder"));
! server.invoke(new ObjectName("Test:name=test1recorder"), "start", null, null);
! // add a couple of MBeans
! // add user names
! server.invoke(serverName, "addAuthorization", new Object[] {"mx4j", "mx4j"}, new String[] {"java.lang.String", "java.lang.String"});
! // use basic authentication
! //server.setAttribute(serverName, new Attribute("AuthenticationMethod", "basic"));
! // starts the server
! server.invoke(serverName, "start", null, null);
! }
! public static void main(String[] str) throws Exception {
! HttpAdaptor adaptor = new HttpAdaptor(str);
! adaptor.start();
! }
}
--- 42,335 ----
public class HttpAdaptor
{
! private int port = 8080;
! private String host = "localhost";
! private String path = null, pathInJar = null;
! public static interface TestClassMBean
! {
! public URL getURL();
! public void setURL(URL url);
! public String getStr();
! public String[] getStrArray();
! public Double getDouble();
! public boolean isTrue();
! public void setStr(String str);
! public void setStrArray(String[] str);
! public Boolean aMethod(String string);
! public void anotherMethod(String string, int test);
! public Map getaMap();
! public List getaList();
! public Date getDate();
! public void setDate(Date date);
! public BigInteger getBigInteger();
! public void setBigInteger(BigInteger integer);
! public BigDecimal getBigDecimal();
! public void setBigDecimal(BigDecimal decimal);
! public CompositeData getCompositeData();
! public void setCompositeData(CompositeData composite);
! }
! public static class TestClass extends NotificationBroadcasterSupport implements TestClassMBean
! {
! private String[] strArray = new String[]{"first", "second"};
! private String str;
! private URL url;
! private List list = new ArrayList();
! private Map map = new HashMap();
! private Date date = new Date();
! private BigInteger bigInteger = new BigInteger("123456789101112131415");
! private BigDecimal bigDecimal = new BigDecimal("123456789101112131415.987654321");
! private CompositeData compositeData = null;
! public TestClass(String str, URL url)
! {
! this.str = str;
! this.url = url;
! list.add("a");
! list.add("b");
! list.add("c");
! map.put("1", "a");
! map.put("2", "b");
! map.put("3", "c");
! try
! {
! CompositeType type = new CompositeType("My type",
! "My type",
! new String[]{"item1", "item2"},
! new String[]{"item1", "item2"},
! new OpenType[]{SimpleType.STRING, SimpleType.STRING});
! compositeData = new CompositeDataSupport(type, new String[]{"item1", "item2"}, new Object[]{"item value 1", "item value 2"});
! }
! catch (OpenDataException e)
! {
! e.printStackTrace();
! }
! }
! public void setCompositeData(CompositeData compositeData)
! {
! this.compositeData = compositeData;
! }
! public CompositeData getCompositeData()
! {
! return compositeData;
! }
! public void setBigInteger(BigInteger bigInteger)
! {
! this.bigInteger = bigInteger;
! }
! public BigInteger getBigInteger()
! {
! return bigInteger;
! }
! public void setBigDecimal(BigDecimal bigDecimal)
! {
! this.bigDecimal = bigDecimal;
! }
! public BigDecimal getBigDecimal()
! {
! return bigDecimal;
! }
! public void setDate(Date date)
! {
! this.date = date;
! }
! public Date getDate()
! {
! return date;
! }
! public void setURL(URL url)
! {
! this.url = url;
! }
! public URL getURL()
! {
! return url;
! }
! public String getStr()
! {
! return str;
! }
! public void setStr(String str)
! {
! this.str = str;
! }
!
! public String[] getStrArray()
! {
! return strArray;
! }
!
! public void setStrArray(String[] strArray)
! {
! this.strArray = strArray;
! }
!
! public Double getDouble()
! {
! return new Double(100 * Math.random());
! }
!
! public boolean isTrue()
! {
! return true;
! }
!
! public Boolean aMethod(String string)
! {
! return new Boolean(string.equals("true"));
! }
!
! public void anotherMethod(String string, int test)
! {
! this.str = string;
! }
!
! public MBeanNotificationInfo[] getNotificationInfo()
! {
! MBeanNotificationInfo[] notifications = new MBeanNotificationInfo[1];
! notifications[0] = new MBeanNotificationInfo(new String[]{"test1"
! , "test2"}, "name", "test");
! return notifications;
! }
!
! public Map getaMap()
! {
! return map;
! }
!
! public List getaList()
! {
! return list;
! }
!
! }
!
! /**
! * Creates a new HttpAdaptor example. You can optionally pass the host/port as
! * java -cp CLASSPATH adaptor.http.HttpAdaptor localhost 8080 path
! */
! public HttpAdaptor(String args[])
! {
! if (args.length > 0)
! {
! host = args[0];
! }
! if (args.length > 1)
! {
! port = Integer.parseInt(args[1]);
! }
! if (args.length > 2)
! {
! path = args[2];
! }
! if (args.length > 3)
! {
! pathInJar = args[3];
! }
! }
!
! /**
! * Starts the http server
! */
! public void start() throws JMException, MalformedURLException
! {
! // creates new server
! MBeanServer server = MBeanServerFactory.createMBeanServer("test");
! ObjectName serverName = new ObjectName("Http:name=HttpAdaptor");
! server.createMBean("mx4j.tools.adaptor.http.HttpAdaptor", serverName, null);
! // set attributes
! if (port > 0)
! {
! server.setAttribute(serverName, new Attribute("Port", new Integer(port)));
! }
! else
! {
! System.out.println("Incorrect port value " + port);
! }
! if (host != null)
! {
! server.setAttribute(serverName, new Attribute("Host", host));
! }
! else
! {
! System.out.println("Incorrect null hostname");
! }
! // set the XSLTProcessor. If you want to use pure XML comment this out
! ObjectName processorName = new ObjectName("Http:name=XSLTProcessor");
! server.createMBean("mx4j.tools.adaptor.http.XSLTProcessor", processorName, null);
! if (path != null)
! {
! server.setAttribute(processorName, new Attribute("File", path));
! }
! server.setAttribute(processorName, new Attribute("UseCache", new Boolean(false)));
! if (pathInJar != null)
! {
! server.setAttribute(processorName, new Attribute("PathInJar", pathInJar));
! }
! server.setAttribute(serverName, new Attribute("ProcessorName", processorName));
!
! // add a couple of MBeans
! TestClass test1 = new TestClass("t1", new URL("http://mx4j.sourceforge.net"));
! TestClass test2 = new TestClass("t1", new URL("http://www.sourceforge.net/projects/mx4j"));
! server.registerMBean(test1, new ObjectName("Test:name=test1"));
! server.registerMBean(test2, new ObjectName("Test:name=test2"));
!
! // add a stats MBean
! TimedStatisticsRecorder recoder = new TimedStatisticsRecorder();
! recoder.setObservedObject(new ObjectName("Test:name=test1"));
! recoder.setObservedAttribute("Double");
! server.registerMBean(recoder, new ObjectName("Test:name=test1recorder"));
! server.invoke(new ObjectName("Test:name=test1recorder"), "start", null, null);
!
! // add a couple of MBeans
!
! // add user names
! server.invoke(serverName, "addAuthorization", new Object[]{"mx4j", "mx4j"}, new String[]{"java.lang.String", "java.lang.String"});
!
! // use basic authentication
! //server.setAttribute(serverName, new Attribute("AuthenticationMethod", "basic"));
!
! // starts the server
! server.invoke(serverName, "start", null, null);
! }
!
! public static void main(String[] str) throws Exception
! {
! HttpAdaptor adaptor = new HttpAdaptor(str);
! adaptor.start();
! }
}
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click