diff --git a/findbugs-exclude.xml b/findbugs-exclude.xml
index 72cc692e27..b33f4b2222 100644
--- a/findbugs-exclude.xml
+++ b/findbugs-exclude.xml
@@ -310,5 +310,9 @@
+
+
+
+
diff --git a/modules/siddhi-core/src/main/java/io/siddhi/core/SiddhiAppRuntimeImpl.java b/modules/siddhi-core/src/main/java/io/siddhi/core/SiddhiAppRuntimeImpl.java
index 94cebdd140..f7d14102f3 100644
--- a/modules/siddhi-core/src/main/java/io/siddhi/core/SiddhiAppRuntimeImpl.java
+++ b/modules/siddhi-core/src/main/java/io/siddhi/core/SiddhiAppRuntimeImpl.java
@@ -625,6 +625,15 @@ public synchronized void shutdown() {
StringUtil.removeCRLFCharacters(siddhiAppContext.getName()) + "'.", t);
}
}
+ for (Trigger trigger : siddhiAppContext.getTriggerHolders()) {
+ try {
+ trigger.stop();
+ } catch (Throwable t) {
+ log.error(StringUtil.removeCRLFCharacters(ExceptionUtil.getMessageWithContext(t, siddhiAppContext)) +
+ " Error while stopping Trigger '" + StringUtil.removeCRLFCharacters(trigger.getId()) +
+ "' in Siddhi app '" + StringUtil.removeCRLFCharacters(siddhiAppContext.getName()) + "'.", t);
+ }
+ }
inputManager.disconnect();
Thread thread = new Thread(new Runnable() {
diff --git a/modules/siddhi-core/src/main/java/io/siddhi/core/trigger/CronTrigger.java b/modules/siddhi-core/src/main/java/io/siddhi/core/trigger/CronTrigger.java
index 4cfb4e9599..5a4ca6c64f 100644
--- a/modules/siddhi-core/src/main/java/io/siddhi/core/trigger/CronTrigger.java
+++ b/modules/siddhi-core/src/main/java/io/siddhi/core/trigger/CronTrigger.java
@@ -46,7 +46,7 @@
*/
public class CronTrigger extends AbstractTrigger implements Job {
- protected static final Logger LOG = LogManager.getLogger(CronTrigger.class);
+ private static final Logger log = LogManager.getLogger(CronTrigger.class);
private TriggerDefinition triggerDefinition;
private SiddhiAppContext siddhiAppContext;
@@ -100,9 +100,12 @@ public void stop() {
try {
if (scheduler != null) {
scheduler.deleteJob(new JobKey(jobName, jobGroup));
+ if (log.isDebugEnabled()) {
+ log.debug("Scheduler job: " + jobName + " Group: " + jobGroup + " has successfully stopped");
+ }
}
} catch (SchedulerException e) {
- LOG.error(ExceptionUtil.getMessageWithContext(e, siddhiAppContext) +
+ log.error(ExceptionUtil.getMessageWithContext(e, siddhiAppContext) +
" Error while removing the cron trigger job '" + jobGroup + "':'" + jobName + "'", e);
}
}
@@ -134,7 +137,7 @@ private void scheduleCronJob(String cronString, String elementId) {
scheduler.scheduleJob(job, trigger);
} catch (SchedulerException e) {
- LOG.error(ExceptionUtil.getMessageWithContext(e, siddhiAppContext) +
+ log.error(ExceptionUtil.getMessageWithContext(e, siddhiAppContext) +
" Error while instantiating quartz scheduler for trigger '" + triggerDefinition.getId() + "'.", e);
}
}
@@ -143,8 +146,8 @@ private void scheduleCronJob(String cronString, String elementId) {
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
JobDataMap dataMap = jobExecutionContext.getJobDetail().getJobDataMap();
CronTrigger cronEventTrigger = (CronTrigger) dataMap.get("trigger");
- if (LOG.isDebugEnabled()) {
- LOG.debug("Running Trigger Job '" + cronEventTrigger.getId() + "'");
+ if (log.isDebugEnabled()) {
+ log.debug("Running Trigger Job '" + cronEventTrigger.getId() + "'");
}
cronEventTrigger.sendEvent();
}
diff --git a/modules/siddhi-core/src/main/java/io/siddhi/core/util/transport/TemplateBuilder.java b/modules/siddhi-core/src/main/java/io/siddhi/core/util/transport/TemplateBuilder.java
index 1c07949fd3..fb3380e62a 100644
--- a/modules/siddhi-core/src/main/java/io/siddhi/core/util/transport/TemplateBuilder.java
+++ b/modules/siddhi-core/src/main/java/io/siddhi/core/util/transport/TemplateBuilder.java
@@ -39,7 +39,7 @@
public class TemplateBuilder {
private static final Pattern DYNAMIC_PATTERN = Pattern.compile("(\\{\\{[^{}]*\\}\\})|[{}]");
- private static final String SPLIT_PATTERN = "(\\{.\\{|\\}.\\})";
+ private static final String SPLIT_PATTERN = "(\\{\\.\\{|\\}\\.\\})";
private int[] positionArray;
private String[] splitTemplateArray;
private boolean isObjectMessage = false;