Search in sources :

Example 1 with JmxServerConnector

use of org.opennms.netmgt.jmx.connection.JmxServerConnector in project opennms by OpenNMS.

the class DefaultConnectionManager method connect.

@Override
public JmxServerConnectionWrapper connect(JmxConnectors connectorName, InetAddress ipAddress, Map<String, String> properties, RetryCallback retryCallback) throws JmxServerConnectionException {
    // if null, use dummy implementation
    if (retryCallback == null) {
        retryCallback = NULL_CALLBACK;
    }
    JmxServerConnectionException lastException = null;
    final JmxServerConnector connector = getConnector(connectorName);
    for (int i = 0; i < retries; i++) {
        LOG.debug("{}/{}: Try connecting to {}", (i + 1), retries, ipAddress);
        retryCallback.onRetry();
        try {
            JmxServerConnectionWrapper connectionWrapper = connector.createConnection(ipAddress, properties);
            if (connectionWrapper == null) {
                throw new JmxServerConnectionException("Received null connection");
            }
            return connectionWrapper;
        } catch (JmxServerConnectionException ex) {
            LOG.debug("Connection could not be established", ex);
            lastException = ex;
        }
    }
    if (lastException != null) {
        throw lastException;
    }
    throw new JmxServerConnectionException("Connection could not be established. Reason: No retries left.");
}
Also used : JmxServerConnectionException(org.opennms.netmgt.jmx.connection.JmxServerConnectionException) JmxServerConnectionWrapper(org.opennms.netmgt.jmx.connection.JmxServerConnectionWrapper) JmxServerConnector(org.opennms.netmgt.jmx.connection.JmxServerConnector)

Aggregations

JmxServerConnectionException (org.opennms.netmgt.jmx.connection.JmxServerConnectionException)1 JmxServerConnectionWrapper (org.opennms.netmgt.jmx.connection.JmxServerConnectionWrapper)1 JmxServerConnector (org.opennms.netmgt.jmx.connection.JmxServerConnector)1