Асинхронная область не работает в кластеризации в муле 3.4.2

Асинхронная область не работает в кластеризации в муле 3.4.2. мы получаем ниже исключения.

Message               : Interrupted while queueing event for "SEDA Stage Main_Flow.async1". Message payload is of type: ConfirmReceiveMessageResponse
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. com.sample.client.ReceiveMessageResponse (java.io.NotSerializableException)
  java.io.ObjectOutputStream:1183 (null)
2. java.io.NotSerializableException: com.elexon.bmrs.ecp.client.ReceiveMessageResponse (org.apache.commons.lang.SerializationException)
  org.apache.commons.lang.SerializationUtils:111 (null)
3. Interrupted while queueing event for "SEDA Stage Main_Flow.async1". Message payload is of type: ConfirmReceiveMessageResponse (org.mule.api.service.FailedToQueueEventException)
  org.mule.processor.SedaStageInterceptingMessageProcessor:92 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/service/FailedToQueueEventException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.io.NotSerializableException: com.sample.client.ReceiveMessageResponse
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
    at org.apache.commons.collections.map.AbstractHashedMap.doWriteObject(AbstractHashedMap.java:1182)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)

После удаления асинхронной области мы можем протестировать приложение. Не могли бы вы помочь нам, как заставить приложение работать с async в кластере env?

1 ответ

Если в ссылке на поток используется стратегия асинхронной обработки, он попытается сохранить событие в кластере, как я полагаю. И ваш объект не сериализуем.

Ты можешь сделать com.sample.client.ReceiveMessageResponse воплощать в жизнь java.io.Serializable если вы хотите, чтобы сообщение было сохранено.

Или вы можете попытаться форсировать поток, который вы используете. processingStrategy="synchronous" может быть.

Другие вопросы по тегам