Hey guys, I was just playing around with zeebe exporters, I’m trying to register it in zeebe and somehow I’m getting this weirds error. Here is what I done:
1. Implemented a simple zeebe exporter
Right now for testing purposes it’s very simple
public class DemoExporter implements Exporter {
Controller controller;
public void open(Controller controller) {
this.controller = controller;
}
public void export(Record record) {
System.out.println(record.toJson());
this.controller.updateLastExportedRecordPosition(record.getPosition());
}
}
2. Started C8 locally
Run docker-compose up -d
in this repo → GitHub - camunda/camunda-platform: Links to Camunda Platform 8 resources, releases, and local development config
3. Register exporter in zeebe
a) Moving my target jar zeebe-exporter-demo-1.0-SNAPSHOT.jar
from host to zeebe docker conainer in /usr/local/zeebe/lib
b) Editing application yaml (adding exporter)
zeebe:
broker:
exporters:
demoexporter:
className: io.zeebe.DemoExporter
jarPath: lib/zeebe-exporter-demo-1.0-SNAPSHOT-jar-with-dependencies.jar
4. Restarting zeebe container to load new configuration
And on startup this is the error that I’m getting:
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-04-23 15:40:58.134 [] [main] ERROR
org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalStateException: Failed to execute CommandLineRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:772) [spring-boot-3.0.5.jar:3.0.5]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:753) [spring-boot-3.0.5.jar:3.0.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:317) [spring-boot-3.0.5.jar:3.0.5]
at io.camunda.zeebe.broker.StandaloneBroker.main(StandaloneBroker.java:82) [camunda-zeebe-8.2.3.jar:8.2.3]
Caused by: java.lang.IllegalStateException: Failed to load exporter with configuration: ExporterCfg{, jarPath='/usr/local/zeebe/lib/zeebe-exporter-demo-1.0-SNAPSHOT-jar-with-dependencies.jar', className='io.zeebe.DemoExporter', args=null}
at io.camunda.zeebe.broker.Broker.buildExporterRepository(Broker.java:149) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.<init>(Broker.java:70) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.<init>(Broker.java:49) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.StandaloneBroker.run(StandaloneBroker.java:91) ~[camunda-zeebe-8.2.3.jar:8.2.3]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:769) ~[spring-boot-3.0.5.jar:3.0.5]
... 3 more
Caused by: io.camunda.zeebe.broker.exporter.repo.ExporterLoadException: Cannot load exporter [demoexporter]: cannot load specified class
at io.camunda.zeebe.broker.exporter.repo.ExporterRepository.load(ExporterRepository.java:82) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.buildExporterRepository(Broker.java:147) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.<init>(Broker.java:70) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.<init>(Broker.java:49) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.StandaloneBroker.run(StandaloneBroker.java:91) ~[camunda-zeebe-8.2.3.jar:8.2.3]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:769) ~[spring-boot-3.0.5.jar:3.0.5]
... 3 more
Caused by: java.lang.ClassNotFoundException: io.zeebe.DemoExporter
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at io.camunda.zeebe.util.jar.ExternalJarClassLoader.loadClass(ExternalJarClassLoader.java:57) ~[zeebe-util-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.exporter.repo.ExporterRepository.load(ExporterRepository.java:79) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.buildExporterRepository(Broker.java:147) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.<init>(Broker.java:70) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.Broker.<init>(Broker.java:49) ~[zeebe-broker-8.2.3.jar:8.2.3]
at io.camunda.zeebe.broker.StandaloneBroker.run(StandaloneBroker.java:91) ~[camunda-zeebe-8.2.3.jar:8.2.3]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:769) ~[spring-boot-3.0.5.jar:3.0.5]
... 3 more
Apr 23, 2023 3:40:58 PM org.apache.coyote.AbstractProtocol pause
What am I missing?