diff --git a/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java b/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java index 5e5d7abb..af9282c2 100644 --- a/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java +++ b/core/src/main/java/org/apache/sqoop/audit/AuditLoggerManager.java @@ -63,7 +63,7 @@ public static AuditLoggerManager getInstance() { return instance; } - public AuditLoggerManager() { + private AuditLoggerManager() { loggers = new ArrayList(); } @@ -122,10 +122,11 @@ private void initializeLoggers() { } public synchronized void destroy() { + loggers = null; LOG.trace("Begin audit logger manager destroy"); } - public void logAuditEvent(String username, + public synchronized void logAuditEvent(String username, String ip, String operation, String objectType, String objectId) { for (AuditLogger logger : loggers) { logger.logAuditEvent(username, ip, operation, objectType, objectId); @@ -133,7 +134,7 @@ public void logAuditEvent(String username, } @Override - public void configurationChanged() { + public synchronized void configurationChanged() { LOG.info("Begin audit logger manager reconfiguring"); initializeLoggers(); LOG.info("Audit logger manager reconfigured"); diff --git a/core/src/main/java/org/apache/sqoop/audit/FileAuditLogger.java b/core/src/main/java/org/apache/sqoop/audit/FileAuditLogger.java index 42cb330a..49a380c7 100644 --- a/core/src/main/java/org/apache/sqoop/audit/FileAuditLogger.java +++ b/core/src/main/java/org/apache/sqoop/audit/FileAuditLogger.java @@ -41,22 +41,10 @@ public class FileAuditLogger extends AuditLogger { */ private Logger logger; - /** - * Configurations for this audit logger - */ - private Map config; - - /** - * Properties to setup logger - */ - private Properties props; - - public FileAuditLogger() { - this.props = new Properties(); - } + public FileAuditLogger() {} public void initialize() { - config = getLoggerConfig(); + Map config = getLoggerConfig(); String outputFile = config.get(FILE); if (outputFile == null) { @@ -66,6 +54,7 @@ public void initialize() { // setup logger String appender = "log4j.appender." + getLoggerName() + APPENDER_SURFIX; LOG.warn("appender: " + appender); + Properties props = new Properties(); props.put(appender, "org.apache.log4j.RollingFileAppender"); props.put(appender + ".File", outputFile); props.put(appender + ".layout", "org.apache.log4j.PatternLayout"); diff --git a/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java b/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java index b64d6fdc..5f269aa7 100644 --- a/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java +++ b/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java @@ -67,6 +67,11 @@ public class ConnectorManager implements Reconfigurable { instance = new ConnectorManager(); } + /** + * The private constructor for the singleton class. + */ + private ConnectorManager() {} + /** * Return current instance. * diff --git a/core/src/main/java/org/apache/sqoop/core/SqoopConfiguration.java b/core/src/main/java/org/apache/sqoop/core/SqoopConfiguration.java index 04da05f0..52e432dd 100644 --- a/core/src/main/java/org/apache/sqoop/core/SqoopConfiguration.java +++ b/core/src/main/java/org/apache/sqoop/core/SqoopConfiguration.java @@ -68,6 +68,11 @@ public class SqoopConfiguration implements Reconfigurable { instance = new SqoopConfiguration(); } + /** + * The private constructor for the singleton class. + */ + private SqoopConfiguration() {} + /** * Return current instance. * diff --git a/core/src/main/java/org/apache/sqoop/driver/Driver.java b/core/src/main/java/org/apache/sqoop/driver/Driver.java index 8d490dd5..cff2bef2 100644 --- a/core/src/main/java/org/apache/sqoop/driver/Driver.java +++ b/core/src/main/java/org/apache/sqoop/driver/Driver.java @@ -110,7 +110,7 @@ public Class getDriverJobConfigurationClass() { return JobConfiguration.class; } - public Driver() { + private Driver() { List driverConfig = ConfigUtils.toConfigs(getDriverJobConfigurationClass()); mDriver = new MDriver(new MDriverConfig(driverConfig), DriverBean.CURRENT_DRIVER_VERSION); diff --git a/core/src/main/java/org/apache/sqoop/driver/JobManager.java b/core/src/main/java/org/apache/sqoop/driver/JobManager.java index fdd48f1f..87c6c748 100644 --- a/core/src/main/java/org/apache/sqoop/driver/JobManager.java +++ b/core/src/main/java/org/apache/sqoop/driver/JobManager.java @@ -72,6 +72,11 @@ public class JobManager implements Reconfigurable { instance = new JobManager(); } + /** + * The private constructor for the singleton class. + */ + private JobManager() {} + /** * Return current instance. * diff --git a/core/src/main/java/org/apache/sqoop/repository/RepositoryManager.java b/core/src/main/java/org/apache/sqoop/repository/RepositoryManager.java index 121f388d..fd623401 100644 --- a/core/src/main/java/org/apache/sqoop/repository/RepositoryManager.java +++ b/core/src/main/java/org/apache/sqoop/repository/RepositoryManager.java @@ -48,6 +48,11 @@ public class RepositoryManager implements Reconfigurable { instance = new RepositoryManager(); } + /** + * The private constructor for the singleton class. + */ + private RepositoryManager() {} + /** * Return current instance. * diff --git a/core/src/main/java/org/apache/sqoop/security/AuthenticationManager.java b/core/src/main/java/org/apache/sqoop/security/AuthenticationManager.java index 6b12e9f6..1d6d94d5 100644 --- a/core/src/main/java/org/apache/sqoop/security/AuthenticationManager.java +++ b/core/src/main/java/org/apache/sqoop/security/AuthenticationManager.java @@ -46,7 +46,7 @@ public class AuthenticationManager implements Reconfigurable { } /** - * The private constructor for the singleton class, + * The private constructor for the singleton class. */ private AuthenticationManager(){} diff --git a/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java b/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java index 203d8b0f..414d3e91 100644 --- a/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java +++ b/core/src/test/java/org/apache/sqoop/driver/TestJobManager.java @@ -51,7 +51,7 @@ public class TestJobManager { @BeforeMethod(alwaysRun = true) public void setUp() { - jobManager = new JobManager(); + jobManager = JobManager.getInstance(); connectorMgrMock = mock(ConnectorManager.class); sqoopConnectorMock = mock(SqoopConnector.class); ConnectorManager.setInstance(connectorMgrMock);