Add live TLS certificate probing and improve restart error handling.

Configure CertificateCheckUrl per container for curl-like TLS checks, classify Sonic permission errors, and extend setup wizard for container management.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-03 13:16:21 +02:00
co-authored by Cursor
parent d20e0df618
commit 58b7826162
1430 changed files with 358394 additions and 71 deletions
@@ -0,0 +1,431 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_19) on Fri Aug 12 11:25:10 EDT 2011 -->
<TITLE>
NotificationBroadcasterSupport (Management Application API)
</TITLE>
<META NAME="keywords" CONTENT="javax.management.NotificationBroadcasterSupport class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="NotificationBroadcasterSupport (Management Application API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="NotificationBroadcasterSupport.html#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Sonic Management API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="NotificationBroadcaster.html" title="interface in javax.management"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="NotificationEmitter.html" title="interface in javax.management"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html@javax%252Fmanagement%252FNotificationBroadcasterSupport.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="NotificationBroadcasterSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.management</FONT>
<BR>
Class NotificationBroadcasterSupport</H2>
<PRE>
java.lang.Object
<IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>javax.management.NotificationBroadcasterSupport</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</A>, <A HREF="NotificationEmitter.html" title="interface in javax.management">NotificationEmitter</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>NotificationBroadcasterSupport</B><DT>extends java.lang.Object<DT>implements <A HREF="NotificationEmitter.html" title="interface in javax.management">NotificationEmitter</A></DL>
</PRE>
<P>
<p>Provides an implementation of <A HREF="NotificationEmitter.html" title="interface in javax.management"><CODE>NotificationEmitter</CODE></A>
interface. This can be used as the super class of an MBean that
sends notifications.</p>
<p>It is not specified whether the notification dispatch model is
synchronous or asynchronous. That is, when a thread calls <A HREF="NotificationBroadcasterSupport.html#sendNotification(javax.management.Notification)"><CODE>sendNotification</CODE></A>, the <A HREF="NotificationListener.html#handleNotification(javax.management.Notification, java.lang.Object)"><CODE>NotificationListener.handleNotification</CODE></A> method of each listener
may be called within that thread (a synchronous model) or within
some other thread (an asynchronous model).</p>
<p>Applications should not depend on notification dispatch being
synchronous or being asynchronous. Thus:</p>
<ul>
<li>Applications should not assume a synchronous model. When the
<A HREF="NotificationBroadcasterSupport.html#sendNotification(javax.management.Notification)"><CODE>sendNotification</CODE></A> method returns, it is
not guaranteed that every listener's <A HREF="NotificationListener.html#handleNotification(javax.management.Notification, java.lang.Object)"><CODE>handleNotification</CODE></A> method
has been called. It is not guaranteed either that a listener will
see notifications in the same order as they were generated.
Listeners that depend on order should use the sequence number of
notifications to determine their order (see <A HREF="Notification.html#getSequenceNumber()"><CODE>Notification.getSequenceNumber()</CODE></A>).
<li>Applications should not assume an asynchronous model. If the
actions performed by a listener are potentially slow, the listener
should arrange for them to be performed in another thread, to avoid
holding up other listeners and the caller of <A HREF="NotificationBroadcasterSupport.html#sendNotification(javax.management.Notification)"><CODE>sendNotification</CODE></A>.
</ul>
<P>
<P>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="NotificationBroadcasterSupport.html#NotificationBroadcasterSupport()">NotificationBroadcasterSupport</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="NotificationBroadcasterSupport.html#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)">addNotificationListener</A></B>(<A HREF="NotificationListener.html" title="interface in javax.management">NotificationListener</A>&nbsp;listener,
<A HREF="NotificationFilter.html" title="interface in javax.management">NotificationFilter</A>&nbsp;filter,
java.lang.Object&nbsp;handback)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a listener.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="MBeanNotificationInfo.html" title="class in javax.management">MBeanNotificationInfo</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="NotificationBroadcasterSupport.html#getNotificationInfo()">getNotificationInfo</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array indicating, for each notification this
MBean may send, the name of the Java class of the notification
and the notification type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="NotificationBroadcasterSupport.html#removeNotificationListener(javax.management.NotificationListener)">removeNotificationListener</A></B>(<A HREF="NotificationListener.html" title="interface in javax.management">NotificationListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a listener from this MBean.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="NotificationBroadcasterSupport.html#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)">removeNotificationListener</A></B>(<A HREF="NotificationListener.html" title="interface in javax.management">NotificationListener</A>&nbsp;listener,
<A HREF="NotificationFilter.html" title="interface in javax.management">NotificationFilter</A>&nbsp;filter,
java.lang.Object&nbsp;handback)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a listener from this MBean.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="NotificationBroadcasterSupport.html#sendNotification(javax.management.Notification)">sendNotification</A></B>(<A HREF="Notification.html" title="class in javax.management">Notification</A>&nbsp;notification)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a notification.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="NotificationBroadcasterSupport()"><!-- --></A><H3>
NotificationBroadcasterSupport</H3>
<PRE>
public <B>NotificationBroadcasterSupport</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)"><!-- --></A><H3>
addNotificationListener</H3>
<PRE>
public void <B>addNotificationListener</B>(<A HREF="NotificationListener.html" title="interface in javax.management">NotificationListener</A>&nbsp;listener,
<A HREF="NotificationFilter.html" title="interface in javax.management">NotificationFilter</A>&nbsp;filter,
java.lang.Object&nbsp;handback)</PRE>
<DL>
<DD>Adds a listener.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="NotificationBroadcaster.html#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)">addNotificationListener</A></CODE> in interface <CODE><A HREF="NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - The listener to receive notifications.<DD><CODE>filter</CODE> - The filter object. If filter is null, no filtering will be performed before handling notifications.<DD><CODE>handback</CODE> - An opaque object to be sent back to the listener when a notification is emitted. This object
cannot be used by the Notification broadcaster object. It should be resent unchanged with the notification
to the listener.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - thrown if the istener is null.<DT><B>See Also:</B><DD><A HREF="NotificationBroadcasterSupport.html#removeNotificationListener(javax.management.NotificationListener)"><CODE>removeNotificationListener(javax.management.NotificationListener)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getNotificationInfo()"><!-- --></A><H3>
getNotificationInfo</H3>
<PRE>
public <A HREF="MBeanNotificationInfo.html" title="class in javax.management">MBeanNotificationInfo</A>[] <B>getNotificationInfo</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="NotificationBroadcaster.html#getNotificationInfo()">NotificationBroadcaster</A></CODE></B></DD>
<DD><p>Returns an array indicating, for each notification this
MBean may send, the name of the Java class of the notification
and the notification type.</p>
<p>It is not illegal for the MBean to send notifications not
described in this array. However, some clients of the MBean
server may depend on the array being complete for their correct
functioning.</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="NotificationBroadcaster.html#getNotificationInfo()">getNotificationInfo</A></CODE> in interface <CODE><A HREF="NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the array of possible notifications.</DL>
</DD>
</DL>
<HR>
<A NAME="removeNotificationListener(javax.management.NotificationListener)"><!-- --></A><H3>
removeNotificationListener</H3>
<PRE>
public void <B>removeNotificationListener</B>(<A HREF="NotificationListener.html" title="interface in javax.management">NotificationListener</A>&nbsp;listener)
throws <A HREF="ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="NotificationBroadcaster.html#removeNotificationListener(javax.management.NotificationListener)">NotificationBroadcaster</A></CODE></B></DD>
<DD>Removes a listener from this MBean. If the listener
has been registered with different handback objects or
notification filters, all entries corresponding to the listener
will be removed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="NotificationBroadcaster.html#removeNotificationListener(javax.management.NotificationListener)">removeNotificationListener</A></CODE> in interface <CODE><A HREF="NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - A listener that was previously added to this
MBean.
<DT><B>Throws:</B>
<DD><CODE><A HREF="ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</A></CODE> - The listener is not
registered with the MBean.<DT><B>See Also:</B><DD><A HREF="NotificationBroadcaster.html#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)"><CODE>NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)</CODE></A>,
<A HREF="NotificationEmitter.html#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)"><CODE>NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)"><!-- --></A><H3>
removeNotificationListener</H3>
<PRE>
public void <B>removeNotificationListener</B>(<A HREF="NotificationListener.html" title="interface in javax.management">NotificationListener</A>&nbsp;listener,
<A HREF="NotificationFilter.html" title="interface in javax.management">NotificationFilter</A>&nbsp;filter,
java.lang.Object&nbsp;handback)
throws <A HREF="ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="NotificationEmitter.html#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)">NotificationEmitter</A></CODE></B></DD>
<DD><p>Removes a listener from this MBean. The MBean must have a
listener that exactly matches the given <code>listener</code>,
<code>filter</code>, and <code>handback</code> parameters. If
there is more than one such listener, only one is removed.</p>
<p>The <code>filter</code> and <code>handback</code> parameters
may be null if and only if they are null in a listener to be
removed.</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="NotificationEmitter.html#removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)">removeNotificationListener</A></CODE> in interface <CODE><A HREF="NotificationEmitter.html" title="interface in javax.management">NotificationEmitter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - A listener that was previously added to this
MBean.<DD><CODE>filter</CODE> - The filter that was specified when the listener
was added.<DD><CODE>handback</CODE> - The handback that was specified when the listener was
added.
<DT><B>Throws:</B>
<DD><CODE><A HREF="ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</A></CODE> - The listener is not
registered with the MBean, or it is not registered with the
given filter and handback.</DL>
</DD>
</DL>
<HR>
<A NAME="sendNotification(javax.management.Notification)"><!-- --></A><H3>
sendNotification</H3>
<PRE>
public void <B>sendNotification</B>(<A HREF="Notification.html" title="class in javax.management">Notification</A>&nbsp;notification)</PRE>
<DL>
<DD>Sends a notification.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>notification</CODE> - The notification to send.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="NotificationBroadcasterSupport.html#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Sonic Management API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="NotificationBroadcaster.html" title="interface in javax.management"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="NotificationEmitter.html" title="interface in javax.management"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html@javax%252Fmanagement%252FNotificationBroadcasterSupport.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="NotificationBroadcasterSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="NotificationBroadcasterSupport.html#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<font size="-1">Copyright &copy; 2001-2011
<a href="http://www.progress.com" target="_top"> Progress Software Corporation</a>. All Rights Reserved.
<br>HTML formatted on 12-Aug-2011.</font>
</BODY>
</HTML>