External Task with Java Client

Hi, I am trying to run an external java Worker as specified in the tutorial. But I encounter the following errors when I run it:

2976 [main] INFO org.camunda.bpm.client - TASK/CLIENT-01026 Discovered data format provider: org.camunda.bpm.client.variable.impl.format.json.JacksonJsonDataFormatProvider[name = application/json]
2982 [main] INFO org.camunda.bpm.client - TASK/CLIENT-01025 Discovered data format: org.camunda.bpm.client.variable.impl.format.json.JacksonJsonDataFormat[name = application/json]
2983 [main] INFO org.camunda.bpm.client - TASK/CLIENT-01026 Discovered data format provider: org.camunda.bpm.client.variable.impl.format.serializable.SerializableDataFormatProvider[name = application/x-java-serialized-object]
2985 [main] INFO org.camunda.bpm.client - TASK/CLIENT-01025 Discovered data format: org.camunda.bpm.client.variable.impl.format.serializable.SerializableDataFormat[name = application/x-java-serialized-object]
2986 [main] INFO org.camunda.bpm.client - TASK/CLIENT-01026 Discovered data format provider: org.camunda.bpm.client.variable.impl.format.xml.DomXmlDataFormatProvider[name = application/xml]
3129 [main] INFO org.camunda.bpm.client - TASK/CLIENT-01025 Discovered data format: org.camunda.bpm.client.variable.impl.format.xml.DomXmlDataFormat[name = application/xml]

I saw the same question in the forum. But that didn’t help. I have installed version “7.16.0” of Camunda Platform. I have installed openjdk version “11.0.14” and according to the compatibility matrix, I have set the following:

<camunda.external-task-client.version>7.16.0</camunda.external-task-client.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>



org.camunda.bpm
camunda-external-task-client
${camunda.external-task-client.version}


org.slf4j
slf4j-simple
1.6.1


javax.xml.bind
jaxb-api
2.3.1

<profiles>
	<profile>
		<id>jdk9-plus</id>
		<activation><jdk>(1.8,)</jdk></activation>
		<dependencies>
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-impl</artifactId>
				<version>2.3.1</version>
			</dependency>
		</dependencies>
	</profile>
</profiles>

Could any one guide me please?

@NSh These are INFO logs. Could you share the error logs?

Sorry I didn’t notice these are info (I am new in java). Actually I don’t get error log and it is running but it seems it has some problems, because when I deploy the process and send request by postman, I see nothing in output and it remains in the following situation:
Screenshot from 2022-03-17 14-34-52

I am using IntelliJ, but I also tried it with Eclipse and I get the following warning in Eclipse “The compiler compliance specified is 1.8 but a JRE 11 is used”

You’ve installed openjdk version 11.0.4 but in pom.xml, source and target versions of java is set to version 1.8. So this throws the above warning message.

You need to set Compiler compliance level. Under Window -> Preferences -> Java -> Compiler, set Compiler compliance level to 1.8

(Otherwise)

Change the java version specified in pom.xml as like below:

<camunda.external-task-client.version>7.16.0</camunda.external-task-client.version>
<maven.compiler.source>1.11</maven.compiler.source>
<maven.compiler.target>1.11</maven.compiler.target>
<java.version>1.11</java.version>
2 Likes

Hi,
Thanks, I had tried that, which did not work. Actually the only JRE which is installed in my computer is version 11. I also tried this:
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>

This is the default when I create a new maven project by IntelliJ. But this didn’t work either. I mean it did not work as an external task when I started the process.
Do you have any other advice? sorry I am completely new in maven and java.

Thanks in advance

@NSh Could you share the error logs?

Hi,
Thanks a lot for your consideration. Sorry I wasn’t here for a while.
Well, now the subscription is done successfully (it enters the handler method). But I still have two warnings (although I have set Compiler compliance level to 1.8 ):

  1. Build path specifies execution environment JavaSE-1.8. There are no JREs installed in the workspace that are strictly compatible with this environment.
  2. The compiler compliance specified is 1.8 but a JRE 11 is used

and my preferences window is like below:

And although the subscription is successful (and I see this link in my browser which is the expected result of the java code in this tutorial, I see "Failed to load module “canberra-gtk-module” message in the console (I have no clue what it is):
image

I found out that I should have also changed “Installed JREs”. I changed it and now there is no warning.