асинхронная область не работает в кластеризации в муле 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)

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


person Gopi    schedule 26.10.2015    source источник
comment
Вы используете версию Community или версию Enterprise?   -  person Naveen Raj    schedule 26.10.2015
comment
Mule EE 3.4.2 с агентом кластеризации. Не могли бы вы нам помочь?   -  person Gopi    schedule 26.10.2015
comment
Можешь выложить свой конфиг? Вы случайно не используете Flow-ref в асинхронном блоке?   -  person Ryan Carter    schedule 26.10.2015
comment
Да!!! мы используем поток-ссылку внутри асинхронной области. мы не можем использовать?   -  person Gopi    schedule 26.10.2015


Ответы (1)


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

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

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

person Ryan Carter    schedule 26.10.2015
comment
где сообщение будет сохраняться, будет ли оно сохраняться в области кучи java (или) на физической виртуальной машине (файловой системе) (или) где-либо еще? . - person Gopi; 27.10.2015