/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.cluster.configuration;
import java.io.IOException;
/**
*
* class to store and load configuration from global var or properties file
*
* @author carlo cancellieri - GeoSolutions SAS
*
*/
final public class ConnectionConfiguration implements JMSConfigurationExt {
public static final String CONNECTION_KEY = "connection";
// times to test (connection)
public static final String CONNECTION_RETRY_KEY = "connection.retry";
public static final Integer DEFAULT_CONNECTION_RETRY = 10;
// millisecs to wait between tests (connection)
public static final String CONNECTION_MAXWAIT_KEY = "connection.maxwait";
public static final Long DEFAULT_CONNECTION_MAXWAIT = 500L;
public static final ConnectionConfigurationStatus DEFAULT_CONNECTION_STATUS = ConnectionConfigurationStatus.enabled;
public static enum ConnectionConfigurationStatus {
enabled, disabled
}
@Override
public void initDefaults(JMSConfiguration config) throws IOException {
config.putConfiguration(CONNECTION_KEY,
DEFAULT_CONNECTION_STATUS.toString());
config.putConfiguration(CONNECTION_RETRY_KEY,
DEFAULT_CONNECTION_RETRY.toString());
config.putConfiguration(CONNECTION_MAXWAIT_KEY,
DEFAULT_CONNECTION_MAXWAIT.toString());
}
@Override
public boolean override(JMSConfiguration config) throws IOException {
boolean override = config.override(CONNECTION_KEY,
DEFAULT_CONNECTION_STATUS);
override |= config.override(CONNECTION_RETRY_KEY,
DEFAULT_CONNECTION_RETRY);
override |= config.override(CONNECTION_MAXWAIT_KEY,
DEFAULT_CONNECTION_MAXWAIT);
return override;
}
}