Teething problems with new version of Camunda

I downloaded the pre-packaged tomcat distribution of Camunda 7.6.0

I changed the db from H2 to MySQL and so made the following changes to the unpacked zip file:-

  1. configured the bpm-platform.xml file to use MySQL
  2. copied over the jdbc driver for mysql and put it in the $tomcat/lib folder
  3. ran the create tables files for MySQL db.

Everything seems to have been done already in the distro so no need to include Spin or Connect references to bpm-platform, which made the process quite quick and pain-free.

I did have a problem unpacking the following from distribution:-
DbSchemaPrefixTestHelper$CustomStandalneInMemProcessEngineConfiguration$NoSchemaProcessEngineImpl.class
Windows told me the name of the path was too large, I’ve ignored it for the time being though.

The server booted up no problem.

When I logged into the tasklist and click on Start Process I could see processes available that hadn’t been deployed onto that server. These were available on a different tomcat server using 7.4, so I don’t know why these were shown (were they cached in the browser?)

Anyway the reason for the post (finally), I deployed a process which worked on 7.4 and it I got back the following message in the log file when I tried to deploy it on the 7.6.0 server:-

11-Jan-2017 20:51:43.474 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class org.camunda.bpm.getstarted.sautomcat.SauTomcatApplication
 java.util.ServiceConfigurationError: org.camunda.spin.spi.DataFormatProvider: Provider org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormatProvider not a subtype
	at java.util.ServiceLoader.fail(ServiceLoader.java:239)
	at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
	at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)

However in the POM.xml I have the following:-

		<dependency>
			<groupId>org.camunda.spin</groupId>
			<artifactId>camunda-spin-core</artifactId>
		</dependency>

		<dependency>
			<groupId>org.camunda.spin</groupId>
			<artifactId>camunda-spin-dataformat-all</artifactId>
		</dependency>

		<dependency>
			<groupId>org.camunda.connect</groupId>
			<artifactId>camunda-connect-soap-http-client</artifactId>
		</dependency>

So I don’t see why I should be getting that error message about JacksonJsonDataFormatProvider if I have camunda-spin-dataformat-all dependency declared?

Many thanks

Hi @theHornet,

Could you please check if the Spin process engine plugin is already configured (see here)? Normally, this should already be done in the pre-built distribution, but just to be sure.

Best,
Johannes

On Tomcat, the Spin libraries are on the global classpath (aka lib folder). You shouldn’t package them with the application in that case. The reason for the error message is, that as of 7.5 (I think), the BPM platform detects data formats packaged in the process application. However, this requires at least the spin-core classes not to be duplicated, or else we see class cast exceptions and variants like in this case.

1 Like

Thanks Johannes,

This was actually pre-populated in the distro. So I didn’t need to add it.

Regards,

Anthony

Yes, this one nailed it, I removed the both spin dependencies and it works!

Many thanks