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,392 @@
<!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:08 EDT 2011 -->
<TITLE>
MBeanNotificationInfo (Management Application API)
</TITLE>
<META NAME="keywords" CONTENT="javax.management.MBeanNotificationInfo class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="MBeanNotificationInfo (Management Application API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="MBeanNotificationInfo.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="MBeanInfo.html" title="class in javax.management"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="MBeanOperationInfo.html" title="class in javax.management"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html@javax%252Fmanagement%252FMBeanNotificationInfo.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MBeanNotificationInfo.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="MBeanNotificationInfo.html#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="MBeanNotificationInfo.html#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="MBeanNotificationInfo.html#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="MBeanNotificationInfo.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 MBeanNotificationInfo</H2>
<PRE>
java.lang.Object
<IMG SRC="../../resources/inherit.gif" ALT="extended by "><A HREF="MBeanFeatureInfo.html" title="class in javax.management">javax.management.MBeanFeatureInfo</A>
<IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>javax.management.MBeanNotificationInfo</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, java.lang.Cloneable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>MBeanNotificationInfo</B><DT>extends <A HREF="MBeanFeatureInfo.html" title="class in javax.management">MBeanFeatureInfo</A><DT>implements java.lang.Cloneable, java.io.Serializable</DL>
</PRE>
<P>
<p>The <CODE>MBeanNotificationInfo</CODE> class is used to describe the
characteristics of the different notification instances
emitted by an MBean, for a given Java class of notification.
If an MBean emits notifcations that can be instances of different Java classes,
then the metadata for that MBean should provide an <CODE>MBeanNotificationInfo</CODE>
object for each of these notification Java classes.</p>
<p>Instances of this class are immutable. Subclasses may be
mutable but this is not recommended.</p>
<p>This class extends <CODE>javax.management.MBeanFeatureInfo</CODE>
and thus provides <CODE>name</CODE> and <CODE>description</CODE> fields.
The <CODE>name</CODE> field should be the fully qualified Java class name of
the notification objects described by this class.</p>
<p>The <CODE>getNotifTypes</CODE> method returns an array of
strings containing the notification types that the MBean may
emit. The notification type is a dot-notation string which
describes what the emitted notification is about, not the Java
class of the notification. A single generic notification class can
be used to send notifications of several types. All of these types
are returned in the string array result of the
<CODE>getNotifTypes</CODE> method.
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#javax.management.MBeanNotificationInfo">Serialized Form</A></DL>
<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="MBeanNotificationInfo.html#MBeanNotificationInfo(java.lang.String[], java.lang.String, java.lang.String)">MBeanNotificationInfo</A></B>(java.lang.String[]&nbsp;notifTypes,
java.lang.String&nbsp;name,
java.lang.String&nbsp;description)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <CODE>MBeanNotificationInfo</CODE> object.</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;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="MBeanNotificationInfo.html#clone()">clone</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a shallow clone of this instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="MBeanNotificationInfo.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;o)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare this MBeanAttributeInfo to another.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="MBeanNotificationInfo.html#getNotifTypes()">getNotifTypes</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the array of strings (in dot notation) containing the
notification types that the MBean may emit.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="MBeanNotificationInfo.html#hashCode()">hashCode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.management.MBeanFeatureInfo"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class javax.management.<A HREF="MBeanFeatureInfo.html" title="class in javax.management">MBeanFeatureInfo</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="MBeanFeatureInfo.html#getDescription()">getDescription</A>, <A HREF="MBeanFeatureInfo.html#getName()">getName</A></CODE></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>getClass, 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="MBeanNotificationInfo(java.lang.String[], java.lang.String, java.lang.String)"><!-- --></A><H3>
MBeanNotificationInfo</H3>
<PRE>
public <B>MBeanNotificationInfo</B>(java.lang.String[]&nbsp;notifTypes,
java.lang.String&nbsp;name,
java.lang.String&nbsp;description)
throws java.lang.IllegalArgumentException</PRE>
<DL>
<DD>Constructs an <CODE>MBeanNotificationInfo</CODE> object.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>notifTypes</CODE> - The array of strings (in dot notation)
containing the notification types that the MBean may emit.
This may be null with the same effect as a zero-length array.<DD><CODE>name</CODE> - The fully qualified Java class name of the
described notifications.<DD><CODE>description</CODE> - A human readable description of the data.
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE></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="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public java.lang.Object <B>clone</B>()</PRE>
<DL>
<DD>Returns a shallow clone of this instance.
The clone is obtained by simply calling <tt>super.clone()</tt>,
thus calling the default native shallow cloning mechanism
implemented by <tt>Object.clone()</tt>.
No deeper cloning of any internal field is made.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>clone</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(java.lang.Object&nbsp;o)</PRE>
<DL>
<DD>Compare this MBeanAttributeInfo to another.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="MBeanFeatureInfo.html#equals(java.lang.Object)">equals</A></CODE> in class <CODE><A HREF="MBeanFeatureInfo.html" title="class in javax.management">MBeanFeatureInfo</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>o</CODE> - the object to compare to.
<DT><B>Returns:</B><DD>true iff <code>o</code> is an MBeanNotificationInfo
such that its <A HREF="MBeanFeatureInfo.html#getName()"><CODE>MBeanFeatureInfo.getName()</CODE></A>, <A HREF="MBeanFeatureInfo.html#getDescription()"><CODE>MBeanFeatureInfo.getDescription()</CODE></A>,
and <A HREF="MBeanNotificationInfo.html#getNotifTypes()"><CODE>getNotifTypes()</CODE></A> values are equal (not necessarily
identical) to those of this MBeanNotificationInfo. Two
notification type arrays are equal if their corresponding
elements are equal. They are not equal if they have the same
elements but in a different order.</DL>
</DD>
</DL>
<HR>
<A NAME="getNotifTypes()"><!-- --></A><H3>
getNotifTypes</H3>
<PRE>
public java.lang.String[] <B>getNotifTypes</B>()</PRE>
<DL>
<DD>Returns the array of strings (in dot notation) containing the
notification types that the MBean may emit.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the array of strings. Changing the returned array has no
effect on this MBeanNotificationInfo.</DL>
</DD>
</DL>
<HR>
<A NAME="hashCode()"><!-- --></A><H3>
hashCode</H3>
<PRE>
public int <B>hashCode</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="MBeanFeatureInfo.html#hashCode()">hashCode</A></CODE> in class <CODE><A HREF="MBeanFeatureInfo.html" title="class in javax.management">MBeanFeatureInfo</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="MBeanNotificationInfo.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="MBeanInfo.html" title="class in javax.management"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="MBeanOperationInfo.html" title="class in javax.management"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html@javax%252Fmanagement%252FMBeanNotificationInfo.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MBeanNotificationInfo.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="MBeanNotificationInfo.html#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="MBeanNotificationInfo.html#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="MBeanNotificationInfo.html#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="MBeanNotificationInfo.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>