Ошибка Mule 3.4 -JUnit TestCase через DataMapper MessageProcessor в Mule ESB

любезно помогите мне преодолеть эту проблему. Я разработал свой mule flow (версия 3.4). Когда я запускаю тестовый пример JUnit, поток работает нормально до процессора сообщений Data Mapper. Однажды после достижения потока dataMapper выдает ошибку типа .grf doesnot exits. Но когда я запускаю тот же поток на сервере Mule, я могу успешно получить ответ. Проблема возникает только при запуске JUnit TestCase. Наблюдение: когда мы попадаем в JUit TestCase, расположение DataMapper не распознается в пути к классам. Пожалуйста, найдите мою полную ошибку


ОШИБКА [Thread-0] [org.mule.exception.CatchMessagingExceptionStrategy] - Сообщение: com.mulesoft.mule.module.datamapper.api.exception.DataMapperCreationException: граф сопоставления данных C: \ Documents and Settings \ UserID \ Desktop \ Mule -Project \ MuleProject \ Transformation_InputRequest.grf не существует (java.lang.RuntimeException). Полезные данные сообщения имеют тип: Строка

Код: MULE ERROR -2 Стек исключений: 1. Граф сопоставления данных C: \ Documents and Settings \ UserID \ Desktop \ Mule-Project \ MuleProject \ Transformation_InputRequest.grf не существует (com.mulesoft.mule.module.datamapper. api.exception.DataMapperCreationException) com.mulesoft.mule.module.datamapper.clover.impl.graphfactory.AppHomeCloverGraphFactoryImpl: 52 (ноль)


Я заметил, что для этой проблемы поднимается JIRA: https://www.mulesoft.org/jira/browse/STUDIO-3400, но, похоже, это открытое состояние. Я не могу продолжить сценарий Junit TestCase другого сценария успеха и отказа, так как у меня есть dataMapper в самом основном потоке. Есть ли способ решить эту проблему, чтобы продолжить. Пожалуйста, предложите. Заранее спасибо.


person star    schedule 27.11.2013    source источник


Ответы (2)


Попробуйте добавить в свой тестовый класс следующее:

@Override
protected Properties getStartUpProperties() {
    Properties properties = new Properties(super.getStartUpProperties());
    properties.put(MuleProperties.APP_HOME_DIRECTORY_PROPERTY, new File("mappings").getAbsolutePath());
    return properties;
}
person Seba    schedule 27.11.2013
comment
Спасибо @Seba. Работает нормально. Я внес некоторые изменения в приведенный выше код. Я добавил логику чтения файла между фрагментами кода, чтобы избежать ошибки Data Mapper. - person star; 28.11.2013

Я знаю, что это примерно 2 года. У меня была такая же проблема, и вышеуказанное решение действительно работает. Однако этого лишнего кода можно избежать. Я обнаружил, что проблема заключается в пробеле в пути к моему каталогу. Попробуйте переместить свой проект из C:\Documents and Settings\UserID\Desktop\Mule-Project\MuleProject\Transformation_InputRequest.grf в C:\Projects или в любой другой каталог без пробелов в имени пути.

person teancum21    schedule 04.03.2016