Description: The exception is caused because two different versions of slf4j-jar files are being loaded during the TIBCO BusinessEvents engine start up. The TIBCO BusinessEvents code does not call slf4j directly, rather it is called indirectly from third party libraries such as Apache HTTP client libraries, tibcrypt.
Common location of slf4j JAR files :
1.slf4j-api-1.7.5.jar and slf4j-log4j12-1.7.5.jar from BE_HOME/lib/ext/tpcl
2.slf4j-api-1.5.2.jar and slf4j-log4j12-1.5.2.jar from HAWK_HOME/lib
Here is the complete error stack of the message received when you hit the slf4j version mis-match issue:
java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.tibco.cep.driver.http.client.impl.httpcomponents.JobProcessor.perform(SourceFile:68)
at com.tibco.cep.driver.http.client.impl.httpcomponents.HttpComponentsClient.executeSync(SourceFile:307)
at com.tibco.cep.driver.http.HttpDestination.a(SourceFile:144)
at com.tibco.cep.driver.http.HttpDestination.sendSyncMessage(SourceFile:125)
at com.tibco.cep.driver.http.client.impl.httpcomponents.HttpComponentsClientService.sendRequest(SourceFile:162)
at com.tibco.cep.driver.http.client.impl.httpcomponents.HttpComponentsClientService.sendRequest(SourceFile:115)
at com.tibco.be.functions.channel.http.HTTPChannelFunctions.sendRequest(SourceFile:317)
at be.gen.RuleFunctions.$9y002fConcepts$9y002fApiResponseCallValidationApi$9y002fEvents$9y002fPatientWeight$.CallValidationApi($9y002fConcepts$9y002fApiResponseCallValidationApi$9y002fEvents$9y002fPatientWeight$.java:16)
at be.gen.Rules.ValidateWeight$ValidateWeight_a.execute(ValidateWeight.java:33)
at com.tibco.cep.kernel.core.rete.ReteWM.resolveConflict(SourceFile:322)
at com.tibco.cep.kernel.core.rete.ReteWM.void(SourceFile:298)
at com.tibco.cep.kernel.core.rete.ReteWM.assertObject(SourceFile:1645)
at com.tibco.cep.runtime.session.impl.RuleSessionImpl.assertObject(RuleSessionImpl.java:1414)
at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2$2.doTxnWork(WorkerBasedControllerV2.java:431)
at com.tibco.cep.kernel.core.rete.BeTransaction.run(SourceFile:156)
at com.tibco.cep.kernel.core.rete.BeTransaction.execute(SourceFile:101)
at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2.executeTask(WorkerBasedControllerV2.java:421)
at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2$WorkerTask.run(WorkerBasedControllerV2.java:466)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at com.tibco.cep.runtime.util.CustomBEManagedThread.run(CustomBEManagedThread.java:24)
Caused by: java.lang.Exception: java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at com.tibco.cep.driver.http.client.impl.httpcomponents.HttpComponentsClient$3.call(SourceFile:300)
at com.tibco.cep.driver.http.client.impl.httpcomponents.HttpComponentsClient$3.call(SourceFile:269)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)