summaryrefslogtreecommitdiffstats
path: root/integrity-monitor/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'integrity-monitor/src/main')
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/IntegrityMonitor.java152
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/MonitorTime.java48
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java5
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ForwardProgressEntity.java7
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ImTestEntity.java5
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ResourceRegistrationEntity.java5
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/StateManagementEntity.java7
7 files changed, 105 insertions, 124 deletions
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/IntegrityMonitor.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/IntegrityMonitor.java
index 38dc20dc..eee77056 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/IntegrityMonitor.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/IntegrityMonitor.java
@@ -29,7 +29,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
-import java.util.concurrent.TimeUnit;
import javax.management.JMX;
import javax.management.MBeanServerConnection;
import javax.persistence.EntityManager;
@@ -58,6 +57,9 @@ public class IntegrityMonitor {
// only allow one instance of IntegrityMonitor
private static IntegrityMonitor instance = null;
+
+ // may be changed by junit tests
+ private static Factory factory = new Factory();
private static String resourceName = null;
boolean alarmExists = false;
@@ -75,16 +77,7 @@ public class IntegrityMonitor {
// Persistence Unit for JPA
public static final String PERSISTENCE_UNIT = "operationalPU";
- private static String persistenceUnit = PERSISTENCE_UNIT;
-
- private static final long CYCLE_INTERVAL_MILLIS = 1000L;
-
- private static long cycleIntervalMillis = CYCLE_INTERVAL_MILLIS;
-
- /**
- * Units used for intervals extracted from the properties, which are typically given in seconds.
- */
- private static TimeUnit propertyUnits = TimeUnit.SECONDS;
+ public static final long CYCLE_INTERVAL_MILLIS = 1000L;
private StateManagement stateManager = null;
@@ -107,11 +100,11 @@ public class IntegrityMonitor {
// last dependency health check time. Initialize so that the periodic check
// starts after 60 seconds.
// This allows time for dependents to come up.
- private long lastDependencyCheckTime = System.currentTimeMillis();
+ private long lastDependencyCheckTime = MonitorTime.getInstance().getMillis();
// Time of the last state audit. It is initialized at the time of the IM
// construction
- private Date lastStateAuditTime = new Date();
+ private Date lastStateAuditTime = MonitorTime.getInstance().getDate();
// Interval between state audits in ms. We leave it turned off by default so
// that it will only
@@ -124,17 +117,17 @@ public class IntegrityMonitor {
private int missedCycles = 0;
// forward progress monitoring interval
- private static long monitorIntervalMs = 1000L * IntegrityMonitorProperties.DEFAULT_MONITOR_INTERVAL;
+ private static long monitorIntervalMs = toMillis(IntegrityMonitorProperties.DEFAULT_MONITOR_INTERVAL);
// The number of periods the counter fails to increment before an alarm is
// raised.
private static int failedCounterThreshold = IntegrityMonitorProperties.DEFAULT_FAILED_COUNTER_THRESHOLD;
// test transaction interval
- private static long testTransIntervalMs = 1000L * IntegrityMonitorProperties.DEFAULT_TEST_INTERVAL;
+ private static long testTransIntervalMs = toMillis(IntegrityMonitorProperties.DEFAULT_TEST_INTERVAL);
// write Fpc to DB interval
- private static long writeFpcIntervalMs = 1000L * IntegrityMonitorProperties.DEFAULT_WRITE_FPC_INTERVAL;
+ private static long writeFpcIntervalMs = toMillis(IntegrityMonitorProperties.DEFAULT_WRITE_FPC_INTERVAL);
// check the health of dependencies
private static long checkDependencyIntervalMs =
- 1000L * IntegrityMonitorProperties.DEFAULT_CHECK_DEPENDENCY_INTERVAL;
+ toMillis(IntegrityMonitorProperties.DEFAULT_CHECK_DEPENDENCY_INTERVAL);
// A lead subsystem will have dependency groups with resource names in the
// properties file.
@@ -151,7 +144,7 @@ public class IntegrityMonitor {
// this is the max interval allowed without any forward progress
// counter updates
- private static long maxFpcUpdateIntervalMs = 1000L * IntegrityMonitorProperties.DEFAULT_MAX_FPC_UPDATE_INTERVAL;
+ private static long maxFpcUpdateIntervalMs = toMillis(IntegrityMonitorProperties.DEFAULT_MAX_FPC_UPDATE_INTERVAL);
// Node types
private enum NodeType {
@@ -192,23 +185,6 @@ public class IntegrityMonitor {
*/
protected IntegrityMonitor(String resourceName, Properties properties) throws IntegrityMonitorException {
- this(resourceName, properties, new Factory());
- }
-
- /**
- * IntegrityMonitor constructor. It is invoked from the getInstance() method in this class or
- * from the constructor of a child or sub-class. A class can extend the IntegrityMonitor class
- * if there is a need to override any of the base methods (ex. subsystemTest()). Only one
- * instance is allowed to be created per resource name.
- *
- * @param resourceName The resource name of the resource
- * @param properties a set of properties passed in from the resource
- * @param factory Factory to use to control the FPManager thread
- * @throws IntegrityMonitorException if any errors are encountered in the constructor
- */
- protected IntegrityMonitor(String resourceName, Properties properties, Factory factory)
- throws IntegrityMonitorException {
-
// singleton check since this constructor can be called from a child or
// sub-class
if (instance != null) {
@@ -232,12 +208,12 @@ public class IntegrityMonitor {
//
// Create the entity manager factory
//
- emf = Persistence.createEntityManagerFactory(persistenceUnit, properties);
+ emf = Persistence.createEntityManagerFactory(factory.getPersistenceUnit(), properties);
//
// Did it get created?
//
if (emf == null) {
- logger.error("Error creating IM entity manager factory with persistence unit: {}", persistenceUnit);
+ logger.error("Error creating IM entity manager factory with persistence unit: {}", factory.getPersistenceUnit());
throw new IntegrityMonitorException("Unable to create IM Entity Manager Factory");
}
@@ -298,7 +274,7 @@ public class IntegrityMonitor {
logger.debug("Resource {} exists and will be updated - old url= {}, createdDate={}", resourceName,
rrx.getResourceUrl(), rrx.getCreatedDate());
}
- rrx.setLastUpdated(new Date());
+ rrx.setLastUpdated(MonitorTime.getInstance().getDate());
} else {
// register resource by adding entry to table in DB
logger.debug("Adding resource {} to ResourceRegistration table", resourceName);
@@ -353,7 +329,7 @@ public class IntegrityMonitor {
logger.error("ComponentAdmin constructor exception: {}", e.toString(), e);
}
- fpManager = new FpManager(factory);
+ fpManager = new FpManager();
fpManager.start();
}
@@ -370,22 +346,6 @@ public class IntegrityMonitor {
*/
public static IntegrityMonitor getInstance(String resourceName, Properties properties)
throws IntegrityMonitorException {
- return getInstance(resourceName, properties, new Factory());
- }
-
- /**
- * Get an instance of IntegrityMonitor for a given resource name. It creates one if it does not
- * exist. Only one instance is allowed to be created per resource name.
- *
- * @param resourceName The resource name of the resource
- * @param properties a set of properties passed in from the resource
- * @param factory Factory to use to control the FPManager thread
- * @return The new instance of IntegrityMonitor
- * @throws IntegrityMonitorException if unable to create jmx url or the constructor returns an
- * exception
- */
- protected static IntegrityMonitor getInstance(String resourceName, Properties properties,
- Factory factory) throws IntegrityMonitorException {
synchronized (getInstanceLock) {
logger.debug("getInstance() called - resourceName= {}", resourceName);
@@ -396,7 +356,7 @@ public class IntegrityMonitor {
if (instance == null) {
logger.debug("Creating new instance of IntegrityMonitor");
- instance = new IntegrityMonitor(resourceName, properties, factory);
+ instance = new IntegrityMonitor(resourceName, properties);
}
return instance;
}
@@ -628,7 +588,7 @@ public class IntegrityMonitor {
// verify that the ForwardProgress is current (check last_updated)
if (errorMsg == null) {
if (forwardProgressEntity != null && stateManagementEntity != null) {
- Date date = new Date();
+ Date date = MonitorTime.getInstance().getDate();
long diffMs = date.getTime() - forwardProgressEntity.getLastUpdated().getTime();
logger.debug("IntegrityMonitor.stateCheck(): diffMs = {}", diffMs);
@@ -719,7 +679,7 @@ public class IntegrityMonitor {
logger.debug("Dependent resource {} - fpc= {}, lastUpdated={}", dep, fpx.getFpcCount(),
fpx.getLastUpdated());
}
- long currTime = System.currentTimeMillis();
+ long currTime = MonitorTime.getInstance().getMillis();
// if dependent resource FPC has not been updated, consider it
// an error
if ((currTime - fpx.getLastUpdated().getTime()) > maxFpcUpdateIntervalMs) {
@@ -1049,7 +1009,7 @@ public class IntegrityMonitor {
}
dependencyCheckErrorMsg = errorMsg;
- lastDependencyCheckTime = System.currentTimeMillis();
+ lastDependencyCheckTime = MonitorTime.getInstance().getMillis();
logger.debug("dependencyCheck: exit");
return errorMsg;
}
@@ -1413,7 +1373,7 @@ public class IntegrityMonitor {
return; // monitoring is disabled
}
- elapsedTime = elapsedTime + cycleIntervalMillis;
+ elapsedTime = elapsedTime + CYCLE_INTERVAL_MILLIS;
if (elapsedTime < monitorIntervalMs) {
return; // monitoring interval not reached
}
@@ -1487,7 +1447,7 @@ public class IntegrityMonitor {
}
}
- Date date = new Date();
+ Date date = MonitorTime.getInstance().getDate();
long timeSinceLastStateAudit = date.getTime() - lastStateAuditTime.getTime();
if (timeSinceLastStateAudit < stateAuditIntervalMs) {
logger.debug("IntegrityMonitor.stateAudit(): Not time to run. returning");
@@ -1506,7 +1466,7 @@ public class IntegrityMonitor {
*/
public void executeStateAudit() {
logger.debug("IntegrityMonitor.executeStateAudit(): entry");
- Date date = new Date();
+ Date date = MonitorTime.getInstance().getDate();
// Get all entries in the forwardprogressentity table
List<ForwardProgressEntity> fpList = getAllForwardProgressEntity();
@@ -1610,7 +1570,7 @@ public class IntegrityMonitor {
return; // test transaction is disabled
}
- elapsedTestTransTime = elapsedTestTransTime + cycleIntervalMillis;
+ elapsedTestTransTime = elapsedTestTransTime + CYCLE_INTERVAL_MILLIS;
if (elapsedTestTransTime < testTransIntervalMs) {
return; // test transaction interval not reached
}
@@ -1637,7 +1597,7 @@ public class IntegrityMonitor {
return; // write Fpc is disabled
}
- elapsedWriteFpcTime = elapsedWriteFpcTime + cycleIntervalMillis;
+ elapsedWriteFpcTime = elapsedWriteFpcTime + CYCLE_INTERVAL_MILLIS;
if (elapsedWriteFpcTime < writeFpcIntervalMs) {
return; // write Fpc interval not reached
}
@@ -1664,7 +1624,7 @@ public class IntegrityMonitor {
return; // dependency monitoring is disabled
}
- long currTime = System.currentTimeMillis();
+ long currTime = MonitorTime.getInstance().getMillis();
logger.debug("checkDependentHealth currTime - lastDependencyCheckTime = {}",
currTime - lastDependencyCheckTime);
if ((currTime - lastDependencyCheckTime) > checkDependencyIntervalMs) {
@@ -1702,7 +1662,7 @@ public class IntegrityMonitor {
logger.debug("executeRefreshStateAudit(): entry");
synchronized (refreshStateAuditLock) {
logger.debug("refreshStateAudit: entry");
- Date now = new Date();
+ Date now = MonitorTime.getInstance().getDate();
long nowMs = now.getTime();
long lastTimeMs = refreshStateAuditLastRunDate.getTime();
logger.debug("refreshStateAudit: ms since last run = {}", nowMs - lastTimeMs);
@@ -1725,7 +1685,7 @@ public class IntegrityMonitor {
logger.error("refreshStateAudit: caught unexpected exception from stateManager.unlock(): ", e);
}
}
- refreshStateAuditLastRunDate = new Date();
+ refreshStateAuditLastRunDate = MonitorTime.getInstance().getDate();
logger.debug("refreshStateAudit: exit");
}
}
@@ -1737,15 +1697,13 @@ public class IntegrityMonitor {
* dependencies, does a refresh state audit and runs the stateAudit.
*/
class FpManager extends Thread {
- private boolean stopRequested = false;
-
- private final Factory factory;
+
+ private volatile boolean stopRequested = false;
// Constructor - start FP manager thread
- FpManager(Factory factory) {
- this.factory = factory;
+ FpManager() {
// set now as the last time the refreshStateAudit ran
- IntegrityMonitor.this.refreshStateAuditLastRunDate = new Date();
+ IntegrityMonitor.this.refreshStateAuditLastRunDate = MonitorTime.getInstance().getDate();
}
@Override
@@ -1756,7 +1714,7 @@ public class IntegrityMonitor {
factory.runStarted();
while(!stopRequested) {
- factory.doSleep(cycleIntervalMillis);
+ MonitorTime.getInstance().sleep(CYCLE_INTERVAL_MILLIS);
IntegrityMonitor.this.runOnce();
factory.monitorCompleted();
@@ -1887,7 +1845,7 @@ public class IntegrityMonitor {
logger.debug("allSeemsWell exit");
}
}
-
+
/**
* Converts the given value to milliseconds using the current {@link #propertyUnits}.
*
@@ -1895,7 +1853,7 @@ public class IntegrityMonitor {
* @return the value, in milliseconds, or -1
*/
private static long toMillis(long value) {
- return (value < 0 ? -1 : propertyUnits.toMillis(value));
+ return (value < 0 ? -1 : value * 1000L);
}
public Map<String, String> getAllSeemsWellMap() {
@@ -1907,7 +1865,7 @@ public class IntegrityMonitor {
}
/**
- * Used to access various objects. Overridden by junit tests.
+ * Wrapper used to access various objects. Overridden by junit tests.
*/
public static class Factory {
@@ -1922,15 +1880,6 @@ public class IntegrityMonitor {
}
/**
- * Sleeps for a period of time.
- * @param sleepMs amount of time to sleep, in milliseconds
- * @throws InterruptedException
- */
- public void doSleep(long sleepMs) throws InterruptedException {
- Thread.sleep(sleepMs);
- }
-
- /**
* Indicates that a monitor activity has completed. This method simply returns.
*
* @throws InterruptedException
@@ -1938,6 +1887,13 @@ public class IntegrityMonitor {
public void monitorCompleted() throws InterruptedException {
// does nothing
}
+
+ /**
+ * @return the persistence unit to be used
+ */
+ public String getPersistenceUnit() {
+ return PERSISTENCE_UNIT;
+ }
}
/*
@@ -1951,28 +1907,4 @@ public class IntegrityMonitor {
public static void setUnitTesting(boolean isUnitTesting) {
IntegrityMonitor.isUnitTesting = isUnitTesting;
}
-
- protected static TimeUnit getPropertyUnits() {
- return propertyUnits;
- }
-
- protected static void setPropertyUnits(TimeUnit propertyUnits) {
- IntegrityMonitor.propertyUnits = propertyUnits;
- }
-
- protected static long getCycleIntervalMillis() {
- return cycleIntervalMillis;
- }
-
- protected static void setCycleIntervalMillis(long cycleIntervalMillis) {
- IntegrityMonitor.cycleIntervalMillis = cycleIntervalMillis;
- }
-
- protected static String getPersistenceUnit() {
- return persistenceUnit;
- }
-
- protected static void setPersistenceUnit(String persistenceUnit) {
- IntegrityMonitor.persistenceUnit = persistenceUnit;
- }
}
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/MonitorTime.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/MonitorTime.java
new file mode 100644
index 00000000..271fa656
--- /dev/null
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/MonitorTime.java
@@ -0,0 +1,48 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Integrity Monitor
+ * ================================================================================
+ * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.im;
+
+import org.onap.policy.common.utils.time.CurrentTime;
+
+/**
+ * "Current" time used by IntegrityMonitor classes.
+ */
+public class MonitorTime {
+
+ /**
+ * Instance to be used. This is overridden by junit tests.
+ */
+ private static CurrentTime instance = new CurrentTime();
+
+ /**
+ *
+ */
+ private MonitorTime() {
+ super();
+ }
+
+ /**
+ * @return the CurrentTime singleton
+ */
+ public static CurrentTime getInstance() {
+ return instance;
+ }
+}
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java
index dbb278e7..20bf9b02 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java
@@ -20,16 +20,13 @@
package org.onap.policy.common.im;
-import java.util.Date;
import java.util.List;
import java.util.Observable;
-
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.FlushModeType;
import javax.persistence.LockModeType;
import javax.persistence.TypedQuery;
-
import org.onap.policy.common.im.exceptions.EntityRetrievalException;
import org.onap.policy.common.im.jpa.StateManagementEntity;
import org.onap.policy.common.utils.jpa.EntityMgrCloser;
@@ -879,7 +876,7 @@ public class StateManagement extends Observable {
final StateManagementEntity stateManagementEntity = resourceList.get(0);
// refresh the object from DB in case cached data was returned
em.refresh(stateManagementEntity);
- stateManagementEntity.setModifiedDate(new Date());
+ stateManagementEntity.setModifiedDate(MonitorTime.getInstance().getDate());
return stateManagementEntity;
} else {
// not exist - create one
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ForwardProgressEntity.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ForwardProgressEntity.java
index 24f36c56..f0ea2c00 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ForwardProgressEntity.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ForwardProgressEntity.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* Integrity Monitor
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -38,6 +38,7 @@ import javax.persistence.TemporalType;
/*
* The Entity class to persist a policy object ForwardProgress
*/
+import org.onap.policy.common.im.MonitorTime;
@Entity
@Table(name = "ForwardProgressEntity")
@@ -77,7 +78,7 @@ public class ForwardProgressEntity implements Serializable {
*/
@PrePersist
public void prePersist() {
- Date date = new Date();
+ Date date = MonitorTime.getInstance().getDate();
this.createdDate = date;
this.lastUpdated = date;
this.fpcCount = 0;
@@ -85,7 +86,7 @@ public class ForwardProgressEntity implements Serializable {
@PreUpdate
public void preUpdate() {
- this.lastUpdated = new Date();
+ this.lastUpdated = MonitorTime.getInstance().getDate();
}
/**
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ImTestEntity.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ImTestEntity.java
index 6fb1446e..1822578b 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ImTestEntity.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ImTestEntity.java
@@ -35,6 +35,7 @@ import javax.persistence.PreUpdate;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import org.onap.policy.common.im.MonitorTime;
@Entity
@Table(name = "ImTestEntity")
@@ -74,14 +75,14 @@ public class ImTestEntity implements Serializable {
*/
@PrePersist
public void prePersist() {
- Date date = new Date();
+ Date date = MonitorTime.getInstance().getDate();
this.createdDate = date;
this.modifiedDate = date;
}
@PreUpdate
public void preUpdate() {
- this.modifiedDate = new Date();
+ this.modifiedDate = MonitorTime.getInstance().getDate();
}
/**
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ResourceRegistrationEntity.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ResourceRegistrationEntity.java
index cfbf020f..42e141aa 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ResourceRegistrationEntity.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ResourceRegistrationEntity.java
@@ -35,6 +35,7 @@ import javax.persistence.PreUpdate;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import org.onap.policy.common.im.MonitorTime;
/*
* The Entity class to persist a policy object ResourceRegistration
*/
@@ -86,14 +87,14 @@ public class ResourceRegistrationEntity implements Serializable {
*/
@PrePersist
public void prePersist() {
- Date date = new Date();
+ Date date = MonitorTime.getInstance().getDate();
this.createdDate = date;
this.lastUpdated = date;
}
@PreUpdate
public void preUpdate() {
- this.lastUpdated = new Date();
+ this.lastUpdated = MonitorTime.getInstance().getDate();
}
/**
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/StateManagementEntity.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/StateManagementEntity.java
index 0e96e558..78b90abd 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/StateManagementEntity.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/StateManagementEntity.java
@@ -34,6 +34,7 @@ import javax.persistence.PreUpdate;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import org.onap.policy.common.im.MonitorTime;
@Entity
@Table(name = "StateManagementEntity")
@@ -74,13 +75,13 @@ public class StateManagementEntity implements Serializable {
@PrePersist
public void prePersist() {
- this.createdDate = new Date();
- this.modifiedDate = new Date();
+ this.createdDate = MonitorTime.getInstance().getDate();
+ this.modifiedDate = MonitorTime.getInstance().getDate();
}
@PreUpdate
public void preUpdate() {
- this.modifiedDate = new Date();
+ this.modifiedDate = MonitorTime.getInstance().getDate();
}
public StateManagementEntity() {