public void auditAAIInventory() throws Exception {
for (int i = 0; i < externalTaskServiceUtils.getMaxClients(); i++) {
externalTaskServiceUtils.createExternalTaskClient().subscribe("InventoryDelete")
- .lockDuration(Long.parseLong(env.getProperty("mso.audit.lock-time", "60000")))
+ .lockDuration(externalTaskServiceUtils.getLockDurationMedium())
.handler(deleteInventory::executeExternalTask).open();
}
}
public void auditAddAAIInventory() throws Exception {
for (int i = 0; i < externalTaskServiceUtils.getMaxClients(); i++) {
ExternalTaskClient client = externalTaskServiceUtils.createExternalTaskClient();
- client.subscribe("InventoryAddAudit").lockDuration(externalTaskServiceUtils.getLockDuration())
+ client.subscribe("InventoryAddAudit").lockDuration(externalTaskServiceUtils.getLockDurationLong())
.handler(auditCreateStack::executeExternalTask).open();
}
}
public void auditDeleteAAIInventory() throws Exception {
for (int i = 0; i < externalTaskServiceUtils.getMaxClients(); i++) {
ExternalTaskClient client = externalTaskServiceUtils.createExternalTaskClient();
- client.subscribe("InventoryDeleteAudit").lockDuration(externalTaskServiceUtils.getLockDuration())
+ client.subscribe("InventoryDeleteAudit").lockDuration(externalTaskServiceUtils.getLockDurationLong())
.handler(auditDeleteStack::executeExternalTask).open();
}
}
@Autowired
public Environment env;
- protected Set<ExternalTaskClient> taskClients = ConcurrentHashMap.newKeySet();
+ private static final long DEFAULT_LOCK_DURATION_LONG = 2700000;
+ private static final long DEFAULT_LOCK_DURATION_MEDIUM = 900000;
+ private static final long DEFAULT_LOCK_DURATION_SHORT = 300000;
+
+ private static final String LOCK_DURATION_LONG = "mso.workflow.topics.lockDurationLong";
+ private static final String LOCK_DURATION_MEDIUM = "mso.workflow.topics.lockDurationMedium";
+ private static final String LOCK_DURATION_SHORT = "mso.workflow.topics.lockDurationShort";
+
+ protected Set<ExternalTaskClient> taskClients = ConcurrentHashMap.newKeySet();
private static final Logger logger = LoggerFactory.getLogger(ExternalTaskServiceUtils.class);
return taskClients;
}
+ public long getLockDurationLong() {
+ return env.getProperty(LOCK_DURATION_LONG, Long.class, new Long(DEFAULT_LOCK_DURATION_LONG));
+ }
+
+ public long getLockDurationMedium() {
+ return env.getProperty(LOCK_DURATION_MEDIUM, Long.class, new Long(DEFAULT_LOCK_DURATION_MEDIUM));
+ }
+
+ public long getLockDurationShort() {
+ return env.getProperty(LOCK_DURATION_SHORT, Long.class, new Long(DEFAULT_LOCK_DURATION_SHORT));
+ }
+
}