Changes from JDMK 3.0 to JDMK 3.2


This document is an accurate list of the changes between JDMK 3.0 and JDMK 3.2.

The comparison is guided by two criteria:

The first section examines the changes at the file level. The second section examines the changes at the class level.


File changes

New files

LocationComment
/opt/SUNWconn/jaw/lib/jaw.properties This is a template file that shows how to set the properties introduced in JDMK 3.2.
/opt/SUNWconn/jaw/docs/index.htm This is the new HTML front page.
/opt/SUNWconn/jaw/docs/JDMKPG.ZIP This is the Programmer's Guide in postscript format compressed with ZIP.
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/additional/changes.htm The document you are reading now.
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/additional/permissions.htm This is the permissions map of JDMK 3.2.
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/examples/README.TXT
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/examples/mo/kstat/README.TXT
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/examples/snmp/proxy/README.TXT
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/examples/threadmgt/README.TXT
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/html/snmpPr_exples.htm
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/html/threadmgt_exples.htm
/opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/html/additdoc.htm
More HTML documents for the new examples.
/opt/SUNWconn/jaw/examples/README.TXT A new centralized README which applies to all the examples.
/opt/SUNWconn/jaw/examples/snmp/proxy/Agent.java
/opt/SUNWconn/jaw/examples/snmp/proxy/DemoImpl.java
/opt/SUNWconn/jaw/examples/snmp/proxy/Manager.java
/opt/SUNWconn/jaw/examples/snmp/proxy/README.TXT
/opt/SUNWconn/jaw/examples/snmp/proxy/SnmpMibAgentImpl.java
/opt/SUNWconn/jaw/examples/snmp/proxy/StandAloneAgent.java
/opt/SUNWconn/jaw/examples/snmp/proxy/SystemImpl.java
/opt/SUNWconn/jaw/examples/snmp/proxy/mib_II_subset.txt
/opt/SUNWconn/jaw/examples/snmp/proxy/mib_core.txt
/opt/SUNWconn/jaw/examples/snmp/proxy/mib_demo.txt
/opt/SUNWconn/jaw/examples/snmp/proxy/patchfiles/DEMO_MIB.java
/opt/SUNWconn/jaw/examples/snmp/proxy/patchfiles/RFC1213_MIB.java
A new example illustrating how to develop an simple SNMP proxy.
/opt/SUNWconn/jaw/examples/threadmgt/Agent.java
/opt/SUNWconn/jaw/examples/threadmgt/README.TXT
/opt/SUNWconn/jaw/examples/threadmgt/ThreadMgtByThreadGroup.java
A new example illustrating how to implement a Thread Allocator.
/opt/SUNWconn/jaw/tmp This is the default location for temporary files. In JDMK 3.0, temporary files were created in /tmp.

Removed files

LocationComment
/opt/SUNWconn/jaw/examples/classes/*.class This held the example classes in compiled form.
In 3.2, examples are available in source form only.
The user has to compile them.

Moved files

Old locationNew locationComment
/etc/opt/SUNWconn/jaw/conf/template.acl /opt/SUNWconn/jaw/etc/conf/template.acl Link to JawAcl change.
/etc/opt/SUNWconn/jaw/conf/jaw.env /opt/SUNWconn/jaw/etc/conf/jaw.env
/etc/opt/SUNWconn/jaw/launch /opt/SUNWconn/jaw/etc/launch
/etc/opt/SUNWconn/jaw/iiop/AdaptorServer.idl /opt/SUNWconn/jaw/docs/locale/C/JDMKMAIN/additional/AdaptorServer.idl This file is now accessible from the HTML front page.
/var/opt/SUNWconn/jaw/mletcache /opt/SUNWconn/jaw/var/mletcache This is the default directory used by the MLet service for caching byte code. Link to the property and its default value.
/opt/SUNWconn/jaw/examples/src/*.java /opt/SUNWconn/jaw/examples/*.java The subdirectory ./src/ has been removed.
/opt/SUNWconn/jaw/docs/locale/C/JDMKAPI/packages.html
/opt/SUNWconn/jaw/docs/locale/C/JDMKAPI/*.html
/opt/SUNWconn/jaw/docs/locale/C/JDMKAPI/index.html
/opt/SUNWconn/jaw/docs/locale/C/JDMKAPI/*.html
The API specification is now generated with javadoc 1.2. Thus the root page is now named index.htm (in place of packages.html).
/opt/SUNWconn/jaw/docs/locale/C/JDMKPG/index.html
/opt/SUNWconn/jaw/docs/locale/C/JDMKPG/*.html
/opt/SUNWconn/jaw/docs/locale/C/JDMKPG/BOOK.htm
/opt/SUNWconn/jaw/docs/locale/C/JDMKPG/*.htm
This is the Programmer's Guide in HTML.
The new root file is BOOK.htm (in place of index.html).
/opt/SUNWconn/jaw/lib/Solaris/sparc/2.x/lib/libstat.so /opt/SUNWconn/jaw/lib/SunOS/sparc/5.6/lib/libstat.so
/opt/SUNWconn/jaw/lib/SunOS/sparc/5.7/lib/libstat.so
The native library used by libstat.so is now available for Solaris 2.6 and 2.7


Class changes

New classes

Class nameComment
com.sun.jaw.reference.agent.services.ThreadAllocatorSrvIf
com.sun.jaw.impl.agent.services.light.ThreadAllocatorSrv
com.sun.jaw.impl.agent.services.light.ThreadAllocatorSrvMO
com.sun.jaw.impl.agent.services.light.ThreadAllocatorSrvMOStub
The thread allocator service and its default implementation.
com.sun.jaw.impl.common.JawProperties This class defines the properties that the user can set in JDMK 3.2.
com.sun.jaw.reference.agent.cmf.FrameworkPermission
com.sun.jaw.reference.common.JawStaticMethodPermission
The Permission objects of JDMK 3.2.
com.sun.jaw.reference.common.MBeanAction
com.sun.jaw.reference.common.MBeanIndexedProperty
com.sun.jaw.reference.common.MBeanInfo
com.sun.jaw.reference.common.MBeanIntrospector
com.sun.jaw.reference.common.MBeanProperty
The m-bean introspector.
com.sun.jaw.snmp.agent.SnmpMibAgent This additional class enables SNMP proxy development.

Removed classes

Class nameComment
com.sun.jaw.impl.agent.services.security.AgentSecurityManager This class is made obsolete by the Java 2 security model.
JDMK 3.2 uses the security manager supplied with Java 2.
com.sun.jaw.reference.agent.cmf.LibLoader
com.sun.jaw.reference.agent.services.LibraryLoaderIf
This class is made obsolete by the Java 2 security model. JDMK 3.2 uses the library loader supplied with Java 2.

Changed classes

Class nameComment
com.sun.jaw.impl.adaptor.comm.AdaptorClient
com.sun.jaw.reference.client.adaptor.AdaptorMO
The following method has been added:
public String getAdaptorVersion();
com.sun.jaw.impl.adaptor.generic.AdaptorServer A new state constant has been added:
public static final int STARTING;
com.sun.jaw.impl.adaptor.html.AdaptorServerImpl The following method has been added:
public java.lang.Boolean giveSortMbeanProperties();
com.sun.jaw.impl.adaptor.iiop.AdaptorClient
com.sun.jaw.impl.adaptor.rmi.AdaptorClient
The following method has been added:
public String getAdaptorVersion();
The getObject() throws an extra exception: InvocationTargetException.
com.sun.jaw.impl.adaptor.snmp.AdaptorServerImpl The addMib method now expects an SnmpMibAgent argument:
public void addMib(SnmpMibAgent);
com.sun.jaw.impl.adaptor.udp.AdaptorSocket The following method has been added:
public java.lang.Object clone();
com.sun.jaw.impl.agent.services.alarm.AlarmClock The following methods have been added:
public Long getTimeoutAsLong();
public void setTimeoutAsLong(Long);
com.sun.jaw.impl.agent.services.jawdiscovery.DiscoveryClient
com.sun.jaw.impl.agent.services.jawdiscovery.DiscoveryMonitor
com.sun.jaw.impl.agent.services.jawdiscovery.DiscoveryResponder
The initCmf method no longer throws InstanceNotFoundException, IllegalAccessException and ServiceNotFoundException.

The deleteCmf method no longer throws IllegalAccessException and ServiceNotFoundException.

com.sun.jaw.impl.agent.services.light.MetaDataSrv The following method has been removed:
protected Method findMethod(Class, String, int);
com.sun.jaw.impl.agent.services.loader.rmi.NetClassLoader The following methods have been removed:
protected synchronized Class loadClass(String, boolean);
public Class loadClass(String);
public void loadLibrary(String, String);
The following methods have been added:
protected Class findClass(String);
protected String findLibrary(String);
It now extends java.security.SecureClassLoader in place of java.lang.ClassLoader.
com.sun.jaw.impl.agent.services.loader.rmi.NetLibLoader The following method:
public void loadLibrary(NetClassServer, String, String)
has been replaced by:
public String findLibrary(NetClassServer, String);
com.sun.jaw.impl.agent.services.mlet.MLetClassLoader The following methods have been removed:
protected Class loadClass(String, boolean);
public MLetClassEntry setClassDefinition(String, byte[], int, int);
public InputStream getResourceAsStream(String);
public Class loadClass(String);
public URL getResource(String);
public static InputStream getURLConnectionResourceAsStream(String, String);
public void loadLibrary(String, String);
public void setResourceDefinition(String, byte[], String);
The following methods have been added:
protected Class findClass(String);
protected String findLibrary(String);
public void addJarFileURL(String);
MLetClassLoader no longer implements LibraryLoaderIf. It now extends URLClassLoader and implements Externalizable.
com.sun.jaw.impl.agent.services.mlet.MLetClassLoaderMO The following methods have been added:
public abstract URL[] getURLs();
com.sun.jaw.impl.agent.services.mlet.MLetClassLoaderMOStub The following methods have been added:
protected void controlURLs(int);
public URL[] getURLs();
com.sun.jaw.impl.agent.services.mlet.MLetSrv The following members have been removed:
protected static java.util.Hashtable classloaders;
public static MLetClassLoader getMLetClassLoader(URL);
public static MLetClassLoader newMLetClassLoader(URL, Framework);
public static void flushMLetClassLoader(URL);
com.sun.jaw.impl.agent.services.monitor.Monitor The granularityPeriod field is now a Long.
Two new methods have been added:
public Long getGranularityPeriodAsLong();
public void setGranularityPeriodAsLong(Long);
com.sun.jaw.impl.agent.services.monitor.MonitorMO
com.sun.jaw.impl.agent.services.monitor.MonitorMOStub
Getters and setters for the new granularityPeriodAsLong have been added:
public abstract Long getGranularityPeriodAsLong();
public abstract void setGranularityPeriodAsLong(Long);
public abstract void SetGranularityPeriodAsLong(String, Long);
com.sun.jaw.impl.common.ClassDefinition A certificate is now represented by a byte[]. So the following signatures have changed from:
public java.security.Certificate getCertificate();
public ClassDefinition(String,String,byte[],byte[],byte[],java.security.Certificate);
to:
public byte[] getCertificate();
public ClassDefinition(String,String,byte[],byte[],byte[],byte[]);
com.sun.jaw.impl.common.DefaultPaths The following methods have been added:
public static void setEtcDir(String);
public static void setInstallDir(String);
public static void setTmpDir(String);
public static void setVarDir(String);
com.sun.jaw.impl.common.LibraryDefinition The following method has been added:
public void setNativeName(java.lang.String);
com.sun.jaw.impl.server.rmi.NetClassServerImpl_Skel
com.sun.jaw.impl.server.rmi.NetClassServerImpl_Stub
???
com.sun.jaw.reference.agent.cmf.Framework The following fields and methods have been added:
protected transient ThreadAllocatorSrvIf threading;
public Framework(MoRepSrvIf,ThreadAllocatorSrvIf,String);
public ThreadAllocatorSrvIf getThreadAllocatorSrvIf();
public String getJdmkVersion();
public void setThreadAllocatorSrvIf(ThreadAllocatorSrvIf);
com.sun.jaw.reference.client.mo.FrameworkMO
com.sun.jaw.reference.client.mo.FrameworkMOStub
The getter for the new jdmkVersion property has been added:
public abstract String getJdmkVersion()
com.sun.jaw.reference.common.Debug A new debug level has been added:
public static final int THREAD_DEBUG;
com.sun.jaw.reference.common.FrameworkEventMO A new constructor has been added:
public FrameworkEventMO(Object,FrameworkEventMO,String);
com.sun.jaw.reference.common.ServiceName The following constants have been added:
public static final String APT_HTML;
public static final String JDMKVERSION;
public static final String THREADSRV;
com.sun.jaw.reference.query.QueryEval The setFramework is no longer static.
com.sun.jaw.snmp.agent.SnmpMib The class extends com.sun.jaw.snmp.agent.SnmpMibAgent.
The following fields and methods have been removed:
protected Framework cmf;
protected String mibName;
public abstract void init();
public abstract void initCmf(Framework, ObjectName);
public Framework getFramework();
public SnmpMibHandlerSrvIf getSnmpAdaptor();
public java.lang.Boolean getBindingState();
public String getMibName();
public String getSnmpAdaptorName();
public void setSnmpAdaptor(SnmpMibHandlerSrvIf);
public void setSnmpAdaptorName(String);
The following methods have been added:
public long getRootOid()[];
public void check(java.util.Vector);
public void getBulk(java.util.Vector, int, int, int);
The following signatures have been changed from:
public SnmpValue get(SnmpOid);
public SnmpVarBind getNext(SnmpOid);
public SnmpValue set(SnmpOid, SnmpValue);
to:
public void get(java.util.Vector, int);
public void getNext(java.util.Vector, int);
public void set(java.util.Vector, int);
com.sun.jaw.snmp.agent.SnmpMibHandlerSrvIf addMib and removeMibnow expects an SnmpMibAgent in place of an SnmpMib.
com.sun.jaw.snmp.common.SnmpCounter getTypeName is now final.
The following constructors have been added:
public SnmpCounter(int);
public SnmpCounter(Integer);
com.sun.jaw.snmp.common.SnmpCounter64 getTypeName is now final.
The following method has been added:
public java.lang.Integer toInteger();
com.sun.jaw.snmp.common.SnmpGauge getTypeName is now final.
The following constructors have been added:
public SnmpGauge(int);
public SnmpGauge(Integer);
com.sun.jaw.snmp.common.SnmpInt Constructors now throw IllegalArgumentException.
The following methods have been added:
public Long toLong();
public long longValue();
com.sun.jaw.snmp.common.SnmpNull getTypeName is now final.
com.sun.jaw.snmp.common.SnmpIpAddress
com.sun.jaw.snmp.common.SnmpOpaque
A getTypeName method has been added.
com.sun.jaw.snmp.common.SnmpStatusException The following fields have been added:
protected int errorIndex;
public static final int noSuchObject;
The following constructors and methods have been added:
public SnmpStatusException(SnmpStatusException,int);
public SnmpStatusException(int,int); public int getErrorIndex();
com.sun.jaw.snmp.common.SnmpStringFixed
The following constructors have been added:
public SnmpStringFixed(int,Byte[]);
public SnmpStringFixed(Byte[]);
public SnmpStringFixed(String);
com.sun.jaw.snmp.common.SnmpTimeticks
The following constructors have been added:
public SnmpTimeticks(int);
public SnmpTimeticks(Integer);
com.sun.jaw.snmp.common.SnmpUnsignedInt
The following members have been added:
public static final long MAX_VALUE;
protected boolean isInitValueValid(int);
protected boolean isInitValueValid(long);
public com.sun.jaw.snmp.common.SnmpUnsignedInt(int);
The following methods have been removed:
public Long toLong();
public long longValue();
com.sun.jaw.snmp.manager.SnmpSocket
The following members have been added:
public final int getResponsePktSize();
public final void setResponsePktSize(int);
com.sun.jaw.snmp.manager.SnmpVar
The following members have been added:
public final SnmpCounter getSnmpCounterValue();
public final SnmpCounter64 getSnmpCounter64Value();
public final SnmpGauge getSnmpGaugeValue();
public final SnmpInt getSnmpIntValue();
public final SnmpIpAddress getSnmpIpAddressValue();
public final SnmpOid getSnmpOidValue();
public final SnmpOpaque getSnmpOpaqueValue();
public final SnmpString getSnmpStringValue();
public final SnmpStringFixed getSnmpStringFixedValue();
public final SnmpTimeticks getSnmpTimeticksValue();
public final void setOid(com.sun.jaw.snmp.common.SnmpOid);
public final void setSnmpCounter64Value(long);
public final void setSnmpCounterValue(long);
public final void setSnmpGaugeValue(long);
public final void setSnmpIntValue(long);
public final void setSnmpIpAddressValue(String);
public final void setSnmpOidValue(String);
public final void setSnmpOpaqueValue(byte[]);
public final void setSnmpStringFixedValue(String);
public final void setSnmpStringValue(String);
public final void setSnmpTimeticksValue(long);
com.sun.jaw.snmp.manager.SnmpVarbindList
The following members have been added:
public boolean removeVarbindList(SnmpVarbindList);
public boolean removeVariable(SnmpVar);
public boolean removeVariable(String);
public boolean removeVariable(String[]);
public boolean removeVariable(String[], String);