Hi,
Am new to Axon, and quite rusty with Java, but i’m having trouble getting the JacksonDeserializer to work with Sagas. I think it might need something special setting up in the Jackson ObjectMapper in the JacksonSerializer constructor to covert back from the AssociationValues interface to the AssociationValuesImpl?
The exception i’m getting is below. If anyone already had this configuration working, could you let me know, as I must be doing something else wrong? (I didn’t see this problem prior to adding the AMQP terminal to the eventBus.)
Thanks,
Steve
Caused by: org.axonframework.serializer.SerializationException: Error while deserializing object
at org.axonframework.serializer.json.JacksonSerializer.deserialize(JacksonSerializer.java:236)
at org.axonframework.saga.repository.jdbc.JdbcSagaRepository.load(JdbcSagaRepository.java:131)
at org.axonframework.saga.AbstractSagaManager.loadAndInvoke(AbstractSagaManager.java:246)
at org.axonframework.saga.AbstractSagaManager.invokeExistingSagas(AbstractSagaManager.java:141)
at org.axonframework.saga.AbstractSagaManager.handle(AbstractSagaManager.java:112)
at org.axonframework.eventhandling.SimpleCluster.doPublish(SimpleCluster.java:65)
at org.axonframework.eventhandling.AbstractCluster.publish(AbstractCluster.java:77)
at org.axonframework.eventhandling.amqp.spring.ClusterMessageListener.onMessage(ClusterMessageListener.java:64)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:584)
… 10 common frames omitted
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of org.axonframework.saga.AssociationValues, problem: abstract types either need to be mapped to concrete types, have custom deserializer, or be instantiated with additional type information
at [Source: [B@f5fa199; line: 1, column: 2] (through reference chain: org.r3b.domain.OrderProcessSaga[“associationValues”])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148)
at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:771)
at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserialize(AbstractDeserializer.java:140)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:538)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:106)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:238)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:118)
at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1269)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:912)
at org.axonframework.serializer.json.JacksonSerializer.deserialize(JacksonSerializer.java:234)
… 18 common frames omitted