If you use the Eventuate Java/Scala client framework with Spring Boot 1.3.3 (rather Spring Boot 1.2.x) you will encounter this exception:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [net.chrisrichardson.eventstore.subscriptions.config.EventStoreSubscriptionsConfiguration$$EnhancerBySpringCGLIB$$20370698]: Constructor threw exception; nested exception is java.lang.VerifyError: class com.fasterxml.jackson.module.scala.ser.ScalaIteratorSerializer overrides final method withResolved.(Lcom/fasterxml/jackson/databind/BeanProperty;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;Lcom/fasterxml/jackson/databind/JsonSerializer;)Lcom/fasterxml/jackson/databind/ser/std/AsArraySerializerBase; at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) ... 71 more Caused by: java.lang.VerifyError: class com.fasterxml.jackson.module.scala.ser.ScalaIteratorSerializer overrides final method withResolved.(Lcom/fasterxml/jackson/databind/BeanProperty;Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;Lcom/fasterxml/jackson/databind/JsonSerializer;)Lcom/fasterxml/jackson/databind/ser/std/AsArraySerializerBase; at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
This exception is thrown because of an incompatibility between the version of jackson-module-scala used by Eventuate and the version of Jackson JSON used by Spring Boot 1.3.3.
A later version of the Eventuate client will address this problem. In the meantime, you can fix the problem by defining the following dependency:
dependencies { compile com.fasterxml.jackson.module:jackson-module-scala_2.10:2.6.3 }