📄 ri.html
字号:
<br><font face="Courier New,Courier"><font size=-1>
mtp3LayerManager.getLookupTable().put(sccpLayerManagerObjectName, sccpLayerManager);</font></font>
<br><font face="Courier New,Courier"><font size=-1>
mtp2LayerManager.getLookupTable().put(sccpLayerManagerObjectName, sccpLayerManager);</font></font>
<p><font face="Courier New,Courier"><font size=-1> }</font></font>
<br>
<br>
<p>Initial Provisioning:
<p><font face="Courier New,Courier"><font size=-1> //
PROVISION THE MTP2 MANAGED OBJECTS</font></font>
<p><font face="Courier New,Courier"><font size=-1> //
create arrays to hold the created Managed Objects' ObjectNames</font></font>
<p><font face="Courier New,Courier"><font size=-1> ObjectName[]
mtp2Saps = new ObjectName[NUM_MTP2_SAPS];</font></font>
<br><font face="Courier New,Courier"><font size=-1> ObjectName[]
mtp2TimerProfiles = new ObjectName[NUM_MTP2_SAPS];</font></font>
<br>
<p><font face="Courier New,Courier"><font size=-1> //
CREATE EACH Mtp2Sap AND ITS ASSOCIATED Mtp2TimerProfile</font></font>
<p><font face="Courier New,Courier"><font size=-1> for
(int i=0; i < NUM_MTP2_SAPS; i++) {</font></font>
<p><font face="Courier New,Courier"><font size=-1>
try {</font></font>
<br><font face="Courier New,Courier"><font size=-1>
if(usingJMXAgent){</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// CREATE AN Mtp2Sap AND SET ITS NAME</font></font>
<br><font face="Courier New,Courier"><font size=-1>
// (CALL METHOD OF MBEAN VIA THE INVOKE METHOD OF THE MBEANSERVER - DON'T
NEED OBJECT REFERENCE</font></font>
<p><font face="Courier New,Courier"><font size=-1>
String[] signature = new String[]{"java.lang.Integer"};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
Object[] parameters = new Object[]{new Integer(Mtp2SapMBean.PORT_TYPE_DTE)};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
mtp2Saps[i] = (ObjectName)server.invoke(mtp2LayerManagerObjectName, "createMtp2Sap",
parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
signature = new String[]{"java.lang.String"};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
parameters = new Object[]{mtp2Saps[i].toString()};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
server.invoke(mtp2Saps[i], "setName", parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// CREATE AN Mtp2TimerProfile AND SET ITS NAME</font></font>
<p><font face="Courier New,Courier"><font size=-1>
signature = new String[]{};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
parameters = new Object[]{};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
mtp2TimerProfiles[i] = (ObjectName)server.invoke(mtp2LayerManagerObjectName,
"createMtp2TimerProfile", parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
signature = new String[]{"java.lang.String"};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
parameters = new Object[]{mtp2TimerProfiles[i].toString()};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
server.invoke(mtp2TimerProfiles[i], "setName", parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// INITIALISE THE TIMERS</font></font>
<p><font face="Courier New,Courier"><font size=-1>
signature = new String[]{};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
parameters = new Object[]{};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
server.invoke(mtp2TimerProfiles[i], "initialiseTimers", parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// ASSOCIATE THE Mtp2TimerProfile WITH THE Mtp2Sap</font></font>
<p><font face="Courier New,Courier"><font size=-1>
signature = new String[]{javax.management.ObjectName};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
parameters = new Object[]{mtp2TimerProfiles[i]};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
server.invoke(mtp2Saps[i], "setMtp2TimerProfile", parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
} else {</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// CREATE AN Mtp2Sap AND SET ITS NAME</font></font>
<br><font face="Courier New,Courier"><font size=-1>
// (USE THE LAYER MANAGER'S LOOKUP TABLE TO GET THE OBJECT REFERENCE ASSOCIATED
WITH THE OBJECTNAME)</font></font>
<p><font face="Courier New,Courier"><font size=-1>
mtp2Saps[i] = mtp2LayerManager.createMtp2Sap(new Integer(Mtp2SapMBean.PORT_TYPE_DTE));</font></font>
<br>
<br>
<p><font face="Courier New,Courier"><font size=-1>
((Mtp2SapMBean)mtp2LayerManager.getLookupTable().get(mtp2Saps[i])).setName(mtp2Saps[i].toString());</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// CREATE AN Mtp2TimerProfile AND SET ITS NAME</font></font>
<p><font face="Courier New,Courier"><font size=-1>
mtp2TimerProfile[i] = mtp2LayerManager.createMtp2TimerProfile();</font></font>
<p><font face="Courier New,Courier"><font size=-1>
((Mtp2TimerProfile)mtp2LayerManager.getLookupTable().get(mtp2TimerProfile[i])).setName(mtp2TimerProfile[i].toString());</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// INITIALISE THE TIMERS</font></font>
<p><font face="Courier New,Courier"><font size=-1>
((Mtp2TimerProfile)mtp2LayerManager.getLookupTable().get(mtp2TimerProfile[i])).initialiseTimers();</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// ASSOCIATE THE Mtp2TimerProfile WITH THE Mtp2Sap</font></font>
<p><font face="Courier New,Courier"><font size=-1>
((Mtp2SapMBean)mtp2LayerManager.getLookupTable().get(mtp2Saps[i])).setMtp2TimerProfile(mtp2TimerProfiles[i]);</font></font>
<br><font face="Courier New,Courier"><font size=-1>
}</font></font>
<p><font face="Courier New,Courier"><font size=-1>
} catch (TooManyInstancesException tooManySaps) {</font></font>
<p><font face="Courier New,Courier"><font size=-1>
System.err.println("Cannot create more than maximum number of MBean instances.\n"
+e.getMessage());</font></font>
<p><font face="Courier New,Courier"><font size=-1>
}</font></font>
<p><font face="Courier New,Courier"><font size=-1> }
// end for each Mtp2Sap</font></font>
<br>
<p><font face="Courier New,Courier"><font size=-1> //
NOW COMMIT THE CHANGES.</font></font>
<br><font face="Courier New,Courier"><font size=-1> //
NB:</font></font>
<br><font face="Courier New,Courier"><font size=-1> //
If you want to receive any Alarms or Errors then register as a listener</font></font>
<br><font face="Courier New,Courier"><font size=-1> //
before committing the changes.</font></font>
<p><font face="Courier New,Courier"><font size=-1> try
{</font></font>
<br><font face="Courier New,Courier"><font size=-1>
if(usingJMXAgent){</font></font>
<p><font face="Courier New,Courier"><font size=-1>
signature = new String[]{};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
parameters = new Object[]{};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
server.invoke(mtp2LayerManagerObjectName, "commit", parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
} else {</font></font>
<br><font face="Courier New,Courier"><font size=-1>
mtp2LayerManager.commit();</font></font>
<br><font face="Courier New,Courier"><font size=-1>
}</font></font>
<p><font face="Courier New,Courier"><font size=-1> }
catch (CommitException e) {</font></font>
<p><font face="Courier New,Courier"><font size=-1>
System.err.println("Failed to commit the Mtp2 Managed Object changes.\n"
+ e.getMessage();</font></font>
<p><font face="Courier New,Courier"><font size=-1> }</font></font>
<br>
<br>
<br>
<p>Collecting Statistics:
<p><font face="Courier New,Courier"><font size=-1> public
class Mtp2StatsCollector implements NotificationListener, NotificationFilter
{</font></font>
<p><font face="Courier New,Courier"><font size=-1>
/**</font></font>
<br><font face="Courier New,Courier"><font size=-1>
* CONSTRUCTOR: Registers this Mtp2StatsCollector as a NotificationListener
of</font></font>
<br><font face="Courier New,Courier"><font size=-1>
*
the specified Mtp2LayerManager</font></font>
<br><font face="Courier New,Courier"><font size=-1>
*/</font></font>
<p><font face="Courier New,Courier"><font size=-1>
public Mtp2StatsCollector(Mtp2LayerManagerObjectName layerManagerObjectName)
{</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// REGISTER AS A STATISTIC LISTENER WITH AN Mtp2Sap</font></font>
<br><font face="Courier New,Courier"><font size=-1>
if(usingJMXAgent){</font></font>
<p><font face="Courier New,Courier"><font size=-1>
signature = new String[]{"javax.management.NotificationListener", "javax.management.NotificationFilter",
"java.lang.Object"};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
parameters = new Object[]{this, this, null};</font></font>
<br><font face="Courier New,Courier"><font size=-1>
server.invoke(mtp2Sap[0], "addNotificationListener", parameters, signature);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
} else {</font></font>
<p><font face="Courier New,Courier"><font size=-1>
((Mtp2SapMBean)mtp2LayerManager.getLookupTable(mtp2Sap[0])).addNotificationListener(this,
this, null);</font></font>
<p><font face="Courier New,Courier"><font size=-1>
}</font></font>
<p><font face="Courier New,Courier"><font size=-1>
}</font></font>
<br>
<p><font face="Courier New,Courier"><font size=-1>
/**</font></font>
<br><font face="Courier New,Courier"><font size=-1>
* This method is called by an Mtp2Sap when it is emitting an Asynchronous</font></font>
<br><font face="Courier New,Courier"><font size=-1>
* Mtp2StatisticNotification to check if the listener is interested in the
notification</font></font>
<br><font face="Courier New,Courier"><font size=-1>
*/</font></font>
<br><font face="Courier New,Courier"><font size=-1>
public boolean isNotificationEnabled(Notification notification) {</font></font>
<p><font face="Courier New,Courier"><font size=-1>
//GET THE NOTIFICATION TYPE</font></font>
<p><font face="Courier New,Courier"><font size=-1>
String type = notification.getType();</font></font>
<p><font face="Courier New,Courier"><font size=-1>
// RETURN TRUE IF TYPE IS AN MTP2 STATISTIC TYPE</font></font>
<p><font face="Courier New,Courier"><font size=-1>
if(type == "jain.protocol.ss7.oam.mtp2.statistic.msu_discard_sl_congestion")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -