0,0 → 1,68 |
package net.brutex.xservices.util; |
|
import lombok.Data; |
import lombok.Singular; |
import lombok.extern.slf4j.Slf4j; |
import org.apache.commons.configuration2.Configuration; |
import org.apache.commons.configuration2.FileBasedConfiguration; |
import org.apache.commons.configuration2.PropertiesConfiguration; |
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; |
import org.apache.commons.configuration2.builder.PropertiesBuilderParametersImpl; |
import org.apache.commons.configuration2.ex.ConfigurationException; |
|
import javax.servlet.ServletContext; |
|
/** |
* A configuration object for the MiscService -> Eventmanager. Implemented as singleton. |
* @author Brian Rosenberger, bru@brutex.de |
**/ |
@Data |
@Slf4j |
public class EventmanagerConfiguration { |
|
public static final String KEY = "net.brutex.xservices.EventmanagerConfiguration"; |
|
private static class InstanceHolder { |
public static final EventmanagerConfiguration instance = new EventmanagerConfiguration(); |
} |
|
private EventmanagerConfiguration() { |
refreshConfig(); |
} |
|
public static EventmanagerConfiguration getInstance() { |
return InstanceHolder.instance; |
} |
|
|
private String targeturl; |
private int interval; |
private String jdbc_memdb; |
private String jdbc_filedb; |
|
|
public synchronized EventmanagerConfiguration refreshConfig() { |
log.trace("Reading EventmanagerConfiguration from file eventmanager.properties."); |
FileBasedConfigurationBuilder<FileBasedConfiguration> builder = |
new FileBasedConfigurationBuilder<FileBasedConfiguration>(PropertiesConfiguration.class) |
.configure(new PropertiesBuilderParametersImpl().setFileName("eventmanager.properties")); |
|
try { |
Configuration config = builder.getConfiguration(); |
|
/* Read from eventmanager.properties file */ |
this.targeturl = config.getString("target.url"); |
this.interval = config.getInt("interval", 10); |
this.jdbc_memdb = config.getString("memdb", "jdbc:h2:mem:lockdb;DB_CLOSE_DELAY=-1;"); |
this.jdbc_filedb = config.getString("fdb", "jdbc:h2:mem:lockdb;DB_CLOSE_DELAY=-1;"); |
|
|
} catch (ConfigurationException e) { |
log.error("Error loading configuration for event manager in XServices MiscServices: {}", e.getMessage()); |
throw new RuntimeException(e); |
} |
return this; |
} |
|
|
} |