MULE - Распространение стратегии исключений на конечных точках синхронизации VM -- mule пол Связанный проблема

Mule - Exception Strategy propagation across synch VM endpoints


1
vote

проблема

русский

Я экспериментирую с стратегиями исключения и наткнулся на следующий конфиг.

Если я вызову один поток от другого, используя синхронные конечные точки VM и не ловить исключения в потоке Callee. Стратегия исключения по потоку вызывающего абонента не вызывает, но вместо этого поток Callee добавляет исключение функции.

Я бы предположил, что если будет исключена исключение, что стратегия исключения расхода вызывающего абонента будет вызваться. Но это не так. Это особенность или ошибка?

 <код> <flow name="main" doc:name="main">         <poll frequency="60000">             <set-payload value="main"></set-payload>         </poll>          <vm:outbound-endpoint address="vm://private" exchange-pattern="request-response" />         <logger level="ERROR" message="After private #[exception]" />          <catch-exception-strategy>             <logger level="ERROR" message="Exception caught in parent." />         </catch-exception-strategy>     </flow>      <flow name="private">         <vm:inbound-endpoint address="vm://private" exchange-pattern="request-response" />         <logger level="ERROR" message="private" />         <null-component></null-component>     </flow>   

Также я могу получить доступ к исключительной рекламе через MEL, используя # [исключение], но не через # [Message.exceptionPaLoad]. Есть ли причина, по которой вы не можете получить к нему доступ к этому в муле? Я могу увидеть его по умолчанию.

Английский оригинал

I am experimenting with exception strategies and came across the following config.

If I invoke one flow from another using synchronous vm endpoints and do not catch exceptions in the callee flow. The caller flow exception strategy does not get invoked, but instead the callee flow adds an exceptionPayload.

I would assume if there is an exceptionPayload that the caller flow exceptions strategy would get invoked. But it doesn't. Is this a feature or a bug?

<flow name="main" doc:name="main">         <poll frequency="60000">             <set-payload value="main"></set-payload>         </poll>          <vm:outbound-endpoint address="vm://private" exchange-pattern="request-response" />         <logger level="ERROR" message="After private #[exception]" />          <catch-exception-strategy>             <logger level="ERROR" message="Exception caught in parent." />         </catch-exception-strategy>     </flow>      <flow name="private">         <vm:inbound-endpoint address="vm://private" exchange-pattern="request-response" />         <logger level="ERROR" message="private" />         <null-component></null-component>     </flow> 

Also I can access the exceptionPayload via MEL using #[exception] but not via #[message.exceptionPayload]. Is there a reason why you cannot access it this way in Mule? I can see it on the DefaultMuleMessage.

</div
  

Список ответов

2
 
vote
vote
Лучший ответ
 

MULE - это платформа, ориентированная на сообщение, поэтому, по дизайну, исключения содержатся в потоках (не подпуплятных потоков) и размножены как специфическую полезную нагрузку.

mel работает на объектах контекста: вот MessageContext Object Object API Где, как вы видите, нет <Код> exceptionPayload поля.

 

Mule is a message oriented platform therefore, by design, exceptions are contained within flows (not sub-flows) and get propagated as a specific message payload.

MEL works on context objects: here is the MessageContext object API where, as you see, there is no exceptionPayload field.

</div
 
 

Связанный проблема

1  MULE ESB и WMQ  ( Mule esb and wmq ) 
Я импортировал поток и нажал на разъем WMQ и увидеть Следуя на панели <код> Host name: ${wmq.host} Port: ${wmq.port} Queue Manager: ${wmq.qu...

0  Найти время процесса, предпринимаемое поток мул  ( Finding process time taken by a mule flow ) 
В настоящее время я пытаюсь проверить время, предпринятое поток мул, версия My Mule ESB - 3.8.3, если это поможет. Я использую <custom-inteceptor> для это...

0  Выпуск, с которыми сталкивается с Мул Maven Munit Batch Testing?  ( Issue facing with mule maven munit batch testing ) 
Делайте тестирование Munit (XML) для моего проекта Maven на основе MULE. вот моя выборка только с регистратором <код> <batch:job name="sample-mavenBatch">...

1  Издание сообщества MULE и блокировка политики повторной попытки  ( Mule community edition and blocking retry policy ) 
Я хотел бы определить какую-то «политику повторной попытки» для пользовательского компонента, который я построил, что означает, что повторите попытку по иници...

0  SSH разъем в мул 4  ( Ssh connector in mule 4 ) 
Я пытаюсь SSH в удаленной машине из потока мул. В MULE 4 я не могу найти компонент разъема SSH. Ссылаясь на SSH разъем Описан на блоге MULE, я попытался соз...

0  Мул ESB JPA Hibernate Java.lang.classnotfoundexception  ( Mule esb jpa hibernate java lang classnotfoundexception ) 
У меня проблема .. Это: <код> <jpa:query statement="from Dog dog where dog.name = 'Cujo'" config-ref="Java_Persistence_API" doc:name="Java Persistence API"/...

1  Ошибка: MULE XPATHOP Transform получает преобразованные пространства имен, не так в краевом случае  ( Bug mule xpath3 transform gets transformed namespaces wrong in edge case ) 
Когда XML, который содержит пространство имен XMLSCHEMA <код> xmlns:xs="http://www.w3.org/2001/XMLSchema" Но только используются в XMLSCHEMA-экземпляре...

0  Как мы можем назвать HTTP-сервлем от мула?  ( How can we call a http servlet from mule ) 
У меня есть требование, в котором мне нужно позвонить в сервлете от Filect. Я получил один ответ с указанного ниже сайта http: // mule.1045714.N5.nabilb.co...

5  Настройка TLS 1.2 для HTTPS в MULE 3.5  ( Setup tls 1 2 for https in mule 3 5 ) 
У нас есть приложение, используя SULE STANDALONE 3.5 (я знаю ...) и должен заставить его использовать TLS 1.1 или 1.2 для HTTPS. Мы обновили до последней Ja...

0  Мул CE Runtime не слушает порта 80  ( Mule ce runtime not listening on port 80 ) 
Я установил MULE CE Runtime на сервере AWS EC2 Lynx и бросил свой проект AnyPoint Studio в папку приложения, MULE запускается нормально и говорит, что мое при...

2  Разъем MULE JDBC XML Parsing  ( Mule jdbc connector xml parsing ) 
У меня проблемы с добавлением конечной точки JDBC в мой проект Mule, но у меня проблемы во время инициализации из-за некоторых проблем с анализами XML. Пробле...

0  Неверный формат ключевого магазина при попытке развертывания проекта MULE  ( Invalid keystore format when trying to deploy mule project ) 
Я просто пытаюсь следить за некоторыми из учебных пособий Mulesoft и возиться с ними, чтобы увидеть, смогу ли я выяснить, как все работает. Этот конкретный уч...

6  Java был начат, но вернулся с кодом выхода = 1  ( Java was started but returned with exit code 1 ) 
Я получаю сообщение об ошибке - <код> Java was started but returned with exit code=1 Я получил эту ошибку после обновления моей Java. Я вижу, что мой фа...

2  не мог получить данные при подключении мула с LinkedIn  ( Couldnt get data while connecting mule with linkedin ) 
Я пытался интегрировать LinkedIn с мул. Я успешно разрешаю пользователя, а также получить информацию о своем профиле. Но я не мог изменить свой текущий стат...

1  Сторитор маршрутизатора и схема  ( Chaining router and scheme ) 
Я пытаюсь использовать цепочку маршрутизатора, как так: <код> <flow name="Something"> <quartz:inbound-endpoint jobName="eventTimer" repeatInterv...