/* ------------------------------------------------------------ */ public void postRegister(Boolean ok) { if (ok.booleanValue()) log.info("Registered " + _objectName); else { _mBeanServer = null; _objectName = null; } }
static { String excludeStr = C3P0Config.getMultiPropertiesConfig().getProperty(EXCLUDE_IDENTITY_TOKEN_KEY); if (excludeStr == null) EXCLUDE_IDENTITY_TOKEN = false; else EXCLUDE_IDENTITY_TOKEN = Boolean.parseBoolean(excludeStr.trim().toLowerCase()); if (EXCLUDE_IDENTITY_TOKEN) logger.info( EXCLUDE_IDENTITY_TOKEN_KEY + " set to true; please ensure unique dataSourceName values are set for all PooledDataSources."); }
/** * Program Main * * <p>Creates a server object, gets the JMX Service URL, and calls the method that will create and * register the appropriate JMX Connector Server for that URL. * * <p>You may wish to use the following properties on the Java command line: * * <ul> * <li><code>-Durl=<jmxServiceURL></code>: specifies the URL of the JMX Connector Server * you wish to use. See README file for more details * <li><code>-Dagent.name=<AgentName></code>: specifies an AgentName to register with. * <li><code>-Djini.lookup.url=<jini-url></code>: the Jini Lookup Service URL (default is * "jini://localhost"), see {@link #getRegistrar()}. * <li><code>-Ddebug="true|false"</code>: switch the Server debug flag on/off (default is * "false"). * </ul> */ public static void main(String[] args) { try { // Jini requires a security manager. // if (System.getSecurityManager() == null) System.setSecurityManager(new RMISecurityManager()); // Get the value of the debug flag. // debug = (Boolean.valueOf(System.getProperty("debug", "false"))).booleanValue(); // Create a new Server object. // final Server s = new Server(); // Get the JMXConnector URL // final String url = System.getProperty("url", "service:jmx:rmi://"); // Build a JMXServiceURL // final JMXServiceURL jurl = new JMXServiceURL(url); // Creates a JMX Connector Server // debug("Creating Connector: " + jurl); final String p = jurl.getProtocol(); if (p.equals("rmi")) // Create an RMI Connector s.rmi(url); else if (p.equals("iiop")) // Create an RMI/IIOP Connector s.rmi(url); else // Unsupported protocol throw new MalformedURLException("Unsupported protocol: " + p); System.out.println("\nService URL successfully registered " + "in the Jini Lookup Service"); } catch (Exception x) { // Something went wrong somewhere.... // System.err.println("Unexpected exception caught in main: " + x); x.printStackTrace(System.err); } }
/** * Convert the given <code>value</code> to the given <code>targetType</code>. Special value * '{@value #NULL_VALUE}' is seen as <code>null</code>. * * @param value * @param targetType The value {@link Class#getName()} such as <code>java.lang.String</code> if * <code>null</code>, target type is assumed to be String. * @return the converted value * @see javax.management.MBeanParameterInfo#getType() */ @Nullable private Object convertValue(@Nullable String value, @Nullable String targetType) { if (NULL_VALUE.equals(value) || null == value) { return null; } else if (String.class.getName().equals(targetType)) { return value; } else if (int.class.getName().equals(targetType) || Integer.class.getName().equals(targetType)) { return new Integer(value); } else if (float.class.getName().equals(targetType) || Float.class.getName().equals(targetType)) { return new Float(value); } else if (boolean.class.getName().equals(targetType) || Boolean.class.getName().equals(targetType)) { return Boolean.valueOf(value); } else { logger.warn("Unexpected type {} for value {}, return String", targetType, value); return value; } }
/** * Program Main. * * <p>Lookup all JMX agents in the LDAP Directory and list their MBeans and attributes. * * <p>You may wish to use the following properties on the Java command line: * * <ul> * <li><code>-Dagent.name=<AgentName></code>: specifies an AgentName to lookup (default is * null, meaning any agent). * <li><code>-Dprotocol=<ProtocolType></code>: restrains the client to lookup for a * specific protocol type (default is null, meaning any type). * <li><code>-Djava.naming.factory.initial=<initial-context-factory> * </code>: The initial context factory to use for accessing the LDAP directory (see {@link * Context#INITIAL_CONTEXT_FACTORY Context.INITIAL_CONTEXT_FACTORY}) - default is <code> * "com.sun.jndi.ldap.LdapCtxFactory"</code>. * <li><code>-Djava.naming.provider.url=<provider-url></code>: The LDAP Provider URL (see * {@link Context#PROVIDER_URL Context.PROVIDER_URL}). * <li><code>-Djava.naming.security.principal=<ldap-principal> * </code>: The security principal (login) to use to connect with the LDAP directory (see * {@link Context#SECURITY_PRINCIPAL Context.SECURITY_PRINCIPAL} - default is <code> * "cn=Directory Manager"</code>. * <li><code>-Djava.naming.security.credentials=<ldap-credentials> * </code>: The security credentials (password) to use to connect with the LDAP directory (see * {@link Context#SECURITY_CREDENTIALS Context.SECURITY_CREDENTIALS}). * <li><code>-Ddebug="true|false"</code>: switch the Server debug flag on/off (default is * "false") * </ul> */ public static void main(String[] args) { try { // Get the value of the debug flag. // debug = (Boolean.valueOf(System.getProperty("debug", "false"))).booleanValue(); // Get a pointer to the LDAP Directory. // final DirContext root = getRootContext(); debug("root is: " + root.getNameInNamespace()); final String protocolType = System.getProperty("protocol"); final String agentName = System.getProperty("agent.name"); // Lookup all matching agents in the LDAP Directory. // List l = lookup(root, protocolType, agentName); // Attempt to connect to retrieved agents // System.out.println("Number of agents found : " + l.size()); int j = 1; for (Iterator i = l.iterator(); i.hasNext(); j++) { JMXConnector c1 = (JMXConnector) i.next(); if (c1 != null) { // Connect // System.out.println("----------------------------------------------------"); System.out.println("\tConnecting to agent number " + j); System.out.println("----------------------------------------------------"); debug("JMXConnector is: " + c1); // Prepare the environment Map // final HashMap env = new HashMap(); final String factory = System.getProperty(Context.INITIAL_CONTEXT_FACTORY); final String ldapServerUrl = System.getProperty(Context.PROVIDER_URL); final String ldapUser = System.getProperty(Context.SECURITY_PRINCIPAL); final String ldapPasswd = System.getProperty(Context.SECURITY_CREDENTIALS); // Transfer some system properties to the Map // if (factory != null) // this should not be needed env.put(Context.INITIAL_CONTEXT_FACTORY, factory); if (ldapServerUrl != null) // this should not be needed env.put(Context.PROVIDER_URL, ldapServerUrl); if (ldapUser != null) // this is needed when LDAP is used env.put(Context.SECURITY_PRINCIPAL, ldapUser); if (ldapPasswd != null) // this is needed when LDAP is used env.put(Context.SECURITY_CREDENTIALS, ldapPasswd); try { c1.connect(env); } catch (IOException x) { System.err.println("Connection failed: " + x); x.printStackTrace(System.err); continue; } // Get MBeanServerConnection // MBeanServerConnection conn = c1.getMBeanServerConnection(); debug("Connection is:" + conn); System.out.println("Server domain is: " + conn.getDefaultDomain()); // List all MBeans // try { listMBeans(conn); } catch (IOException x) { System.err.println("Failed to list MBeans: " + x); x.printStackTrace(System.err); } // Close connector // try { c1.close(); } catch (IOException x) { System.err.println("Failed to close connection: " + x); x.printStackTrace(System.err); } } } } catch (Exception x) { System.err.println("Unexpected exception caught in main: " + x); x.printStackTrace(System.err); } }
/** * Program Main * * <p>Lookup all JMX agents in the Jini Lookup Service and list their MBeans and attributes. * * <p>You may wish to use the following properties on the Java command line: * * <ul> * <li><code>-Dagent.name=<AgentName></code>: specifies an AgentName to lookup (default is * null, meaning any agent). * <li><code>-Djini.lookup.url=<jini-url></code>: the Jini Lookup Service URL (default is * "jini://localhost"), see {@link #getRegistrar()}. * <li><code>-Ddebug="true|false"</code>: switch the Client debug flag on/off (default is * "false"). * </ul> */ public static void main(String[] args) { try { // Jini requires a security manager. // if (System.getSecurityManager() == null) System.setSecurityManager(new RMISecurityManager()); // Get the value of the debug flag. // debug = (Boolean.valueOf(System.getProperty("debug", "false"))).booleanValue(); // Get AgentName to lookup. If not defined, all agents // are looked up. // final String agentName = System.getProperty("agent.name"); // Get a pointer to the Jini Lookup Service. // final ServiceRegistrar registrar = getRegistrar(); debug("registrar is: " + registrar); // Lookup all matching agents in the Jini Lookup Service. // List l = lookup(registrar, agentName); // Attempt to connect to retrieved agents // System.out.println("Number of agents found : " + l.size()); int j = 1; for (Iterator i = l.iterator(); i.hasNext(); j++) { JMXConnector c1 = (JMXConnector) i.next(); if (c1 != null) { // Connect // System.out.println("----------------------------------------------------"); System.out.println("\tConnecting to agent number " + j); System.out.println("----------------------------------------------------"); debug("JMXConnector is: " + c1); try { c1.connect(null); } catch (IOException x) { System.err.println("Connection failed: " + x); if (debug) x.printStackTrace(System.err); continue; } // Get MBeanServerConnection // MBeanServerConnection conn = c1.getMBeanServerConnection(); debug("Connection is:" + conn); System.out.println("Server domain is: " + conn.getDefaultDomain()); // List all MBeans // try { listMBeans(conn); } catch (IOException x) { System.err.println("Failed to list MBeans: " + x); if (debug) x.printStackTrace(System.err); } // Close connector // try { c1.close(); } catch (IOException x) { System.err.println("Failed to close connection: " + x); if (debug) x.printStackTrace(System.err); } } } } catch (Exception x) { System.err.println("Unexpected exception caught in main: " + x); x.printStackTrace(System.err); } }
@Diagnostic(name = "Port active") public DiagnosticsResult performDiagnosis() throws JMSException { Boolean isSuccess = checkActiveMQConnection(); return new DiagnosticsResult("Active MQ Port Is Active", isSuccess.toString(), Success); }