Мул 4: Хранилище объектов: не удалось десериализовать объект

#dataweave #mule4

#dataweave #mule4

Вопрос:

Сценарий: в приложении Mule 4 мы используем зависимость maven, скажем, MAVEN_DEPENDENCY_APP. MAVEN_DEPENDENCY_APP также является приложением Mule 4, которое содержит хранилище объектов. При запуске основного приложения я получаю следующую ошибку :

 Caused by: org.mule.runtime.api.exception.MuleRuntimeException: org.mule.runtime.deployment.model.api.DeploymentStartException: Error starting application 'testproject'
Caused by: org.mule.runtime.deployment.model.api.DeploymentStartException: Error starting application 'testproject'
Caused by: org.mule.runtime.api.lifecycle.LifecycleException: Found error when trying to access ObjectStore
Caused by: org.mule.runtime.api.exception.DefaultMuleException: Found error when trying to access ObjectStore
Caused by: org.mule.runtime.extension.api.exception.ModuleException: Found error when trying to access ObjectStore
Caused by: org.mule.runtime.api.store.ObjectStoreException: Could not deserialize object
Caused by: org.mule.runtime.api.serialization.SerializationException: Could not deserialize object
Caused by: org.mule.runtime.api.serialization.SerializationException: Cannot deserialize object
 

Объект, который мы пытаемся сохранить в хранилище объектов в MAVEN_DEPENDENCY_APP, выглядит следующим образом:

 
<ee:transform doc:name="Add id to incoming message" doc:id="32e58163-a06a-414b-84a9-c06768e7733c" >
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
    "message-id" : uuid() as String,
    "errorPayload" : write(message.payload,"application/java")
}]]></ee:set-payload>
            </ee:message>
        </ee:transform>

 

Примечание: я попытался запустить MAVEN_DEPENDENCY_APP как проект mule и протестировал его. Все работает нормально.
Проблема замечена, когда я использую приложение в качестве зависимости maven в других проектах mule 4.

Комментарии:

1. Как настроено хранилище объектов и где к нему осуществляется доступ? Пожалуйста, добавьте фрагменты XML в вопрос. Это в основном приложении или в зависимости? Какова именно полезная нагрузка? Какова точная версия Mule 4? Также добавьте полное сообщение об ошибке, а не усеченный фрагмент.

2. Не могли бы вы добавить конфигурацию хранилища объектов к вопросу. Кроме того, я надеюсь, что вы не используете одно хранилище объектов для хранения / извлечения объектов, которые сериализуются по-разному (например, Java и Kryo оба)

Ответ №1:

Попробуйте обновить версию соединителя ObjectStore и runtimeVersion. В прошлом я сталкивался с подобными проблемами, и я считаю, что это исправлено.

Ответ №2:

Ошибка заключалась в упаковке приложения mule. Я использовал mule-maven-plugin 3.3.5 и предоставил приведенную ниже конфигурацию :

 <configuration>
                    <classifier>mule-plugin</classifier>
                </configuration>

 

Это сработало