CJSCommonPlatform / microservice_framework_version_6

A Java framework to support applications utilising CQRS and Event Sourcing architectures
Other
23 stars 33 forks source link

Public message consumer does not handle addition property (attribute) where the value of the attribute in object and not simple type #662

Open hasankshaik opened 6 years ago

hasankshaik commented 6 years ago

{ "defendantId": "DEFENDANT-ID", "caseId": "CASE-ID", "personId": "PERSON-ID" } with "additionalProperties": true allows { "defendantId": "DEFENDANT-ID", "caseId": "CASE-ID", "personId": "PERSON-ID", "randomAttribute": "randomvalue", } But fails when randomvalue is a object example { "defendantId": "DEFENDANT-ID", "caseId": "CASE-ID", "personId": "PERSON-ID", "randomAttribute": { "address":"some address" }, } Detailed error log :

uk.gov.justice.api.DefenceEventProcessorPublicEventJmsListener.onMessage(javax.jms.Message): javax.ejb.EJBTransactionRolledbackException: Can not deserialize instance of uk.gov.moj.cpp.defence.event.processor.events.ProgressionDefendantAdded out of END_OBJECT token at [Source: N/A; line: -1, column: -1] at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:159) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:256) at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:329) at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.deployment.processors.EjbSuspendInterceptor.processInvocation(EjbSuspendInterceptor.java:53) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponentDescription$5$1.processInvocation(MessageDrivenComponentDescription.java:239) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356) at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636) at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356) at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:195) at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73) at uk.gov.justice.api.DefenceEventProcessorPublicEventJmsListener$$$view186.onMessage(Unknown Source) at sun.reflect.GeneratedMethodAccessor5805.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:139) at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) at uk.gov.justice.api.DefenceEventProcessorPublicEventJmsListener$$$endpoint153.onMessage(Unknown Source) at org.apache.activemq.artemis.ra.inflow.ActiveMQMessageHandler.onMessage(ActiveMQMessageHandler.java:310) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:932) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:47) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1045) at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$ExecutorTask.run(OrderedExecutorFactory.java:100) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: Can not deserialize instance of uk.gov.moj.cpp.defence.event.processor.events.ProgressionDefendantAdded out of END_OBJECT token at [Source: N/A; line: -1, column: -1] at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3459) at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3378) at uk.gov.justice.services.core.dispatcher.EnvelopePayloadTypeConverter.convert(EnvelopePayloadTypeConverter.java:49) at uk.gov.justice.services.core.dispatcher.MethodInvoker.toTargetEnvelopeType(MethodInvoker.java:49) at uk.gov.justice.services.core.dispatcher.MethodInvoker.invoke(MethodInvoker.java:45) at uk.gov.justice.services.core.dispatcher.Dispatcher.dispatch(Dispatcher.java:46) at uk.gov.justice.services.core.interceptor.DefaultInterceptorChainProcessor.lambda$targetOf$0(DefaultInterceptorChainProcessor.java:40) at uk.gov.justice.services.core.interceptor.DefaultInterceptorChain.processNext(DefaultInterceptorChain.java:22) at uk.gov.justice.services.metrics.interceptor.AbstractMetricsInterceptor.process(AbstractMetricsInterceptor.java:21) at uk.gov.justice.services.core.interceptor.DefaultInterceptorChain.processNext(DefaultInterceptorChain.java:25) at uk.gov.justice.services.metrics.interceptor.AbstractMetricsInterceptor.process(AbstractMetricsInterceptor.java:21) at uk.gov.justice.services.core.interceptor.DefaultInterceptorChain.processNext(DefaultInterceptorChain.java:25) at uk.gov.justice.services.core.interceptor.DefaultInterceptorChainProcessor.process(DefaultInterceptorChainProcessor.java:27) at uk.gov.justice.services.adapter.messaging.DefaultJmsProcessor.process(DefaultJmsProcessor.java:57) at uk.gov.justice.api.DefenceEventProcessorPublicEventJmsListener.onMessage(DefenceEventProcessorPublicEventJmsListener.java:47) at sun.reflect.GeneratedMethodAccessor5805.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437) at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:70) at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:80) at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437) at uk.gov.justice.services.adapter.messaging.JsonSchemaValidationInterceptor.validate(JsonSchemaValidationInterceptor.java:56) at sun.reflect.GeneratedMethodAccessor5807.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:89) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437) at uk.gov.justice.services.adapter.messaging.JmsLoggerMetadataInterceptor.addRequestDataToMappedDiagnosticContext(JmsLoggerMetadataInterceptor.java:63) at sun.reflect.GeneratedMethodAccessor5806.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:89) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437) at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73) at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:254) ... 51 more Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of uk.gov.moj.cpp.defence.event.processor.events.ProgressionDefendantAdded out of END_OBJECT token at [Source: N/A; line: -1, column: -1] at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148) at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:857) at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:853) at uk.gov.justice.services.common.converter.jackson.additionalproperties.AdditionalPropertiesDeserializer.deserializeFromType(AdditionalPropertiesDeserializer.java:83) at uk.gov.justice.services.common.converter.jackson.additionalproperties.AdditionalPropertiesDeserializer.handleUnknownProperty(AdditionalPropertiesDeserializer.java:31) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperties(BeanDeserializerBase.java:1306) at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:453) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1099) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:296) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133) at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3454) ... 106 more