Skip to content

Instantly share code, notes, and snippets.

@martinweiler
Created March 12, 2018 10:51
Show Gist options
  • Save martinweiler/4678c546bf2335524b6cce0c15cbeb1c to your computer and use it in GitHub Desktop.
Save martinweiler/4678c546bf2335524b6cce0c15cbeb1c to your computer and use it in GitHub Desktop.
$ git diff jbpm-runtime-manager/src/main/java/org/jbpm/runtime/manager/impl/DefaultRegisterableItemsFactory.java
diff --git a/jbpm-runtime-manager/src/main/java/org/jbpm/runtime/manager/impl/DefaultRegisterableItemsFactory.java b/jbpm-runtime-manager/src/main/java/org/jbpm/runtime/manager/impl/DefaultRegisterableItemsFactory.java
index 9ac5eced0..78594ffaf 100644
--- a/jbpm-runtime-manager/src/main/java/org/jbpm/runtime/manager/impl/DefaultRegisterableItemsFactory.java
+++ b/jbpm-runtime-manager/src/main/java/org/jbpm/runtime/manager/impl/DefaultRegisterableItemsFactory.java
@@ -68,6 +68,7 @@ public class DefaultRegisterableItemsFactory extends SimpleRegisterableItemsFact
private static final Logger logger = LoggerFactory.getLogger(DefaultRegisterableItemsFactory.class);
private AuditEventBuilder auditBuilder = new ManagedAuditEventBuilderImpl();
+ private AbstractAuditLogger jmsLogger = null;
@Override
public Map<String, WorkItemHandler> getWorkItemHandlers(RuntimeEngine runtime) {
@@ -110,14 +111,16 @@ public class DefaultRegisterableItemsFactory extends SimpleRegisterableItemsFact
defaultListeners.add(logger);
} else if (descriptor.getAuditMode() == AuditMode.JMS) {
try {
- Properties properties = new Properties();
- InputStream input = getRuntimeManager().getEnvironment().getClassLoader().getResourceAsStream("/jbpm.audit.jms.properties");
- properties.load(input);
-
- @SuppressWarnings({ "unchecked", "rawtypes" })
- AbstractAuditLogger logger = AuditLoggerFactory.newJMSInstance((Map)properties);
- logger.setBuilder(getAuditBuilder(runtime));
- defaultListeners.add(logger);
+ if(jmsLogger==null) {
+ Properties properties = new Properties();
+ InputStream input = getRuntimeManager().getEnvironment().getClassLoader().getResourceAsStream("/jbpm.audit.jms.properties");
+ properties.load(input);
+ logger.debug("Creating AsyncAuditLogProducer {}", properties);
+
+ jmsLogger = AuditLoggerFactory.newJMSInstance((Map)properties);
+ jmsLogger.setBuilder(getAuditBuilder(runtime));
+ }
+ defaultListeners.add(jmsLogger);
} catch (IOException e) {
logger.error("Unable to load jms audit properties from {}", "/jbpm.audit.jms.properties", e);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment