Запуск простого проекта с использованием SpringBoot и создание брокера ActiveMQ через @Configuration.
В методе Main перед SpringApplication.run я установил это;
System.setProperty("org.apache.activemq.SERIALIZABLE_PACKAGES", "*");
Доверять всем пакетам при создании посредника и ActiveMQConnectionFactory;
factory.setTrustAllPackages(true);
Маршрут:
from("timer://getStuffDone?period=5s") //just a test
.to("bean://superProcessor?method=process") // new a simple object and puts it as body
.to("activemq:queue:superQueue?jmsMessageType=Object");
Объект:
public class SuperObject {
public String name;}
НО, я получаю это:
Причина: org.apache.camel.NoTypeConversionAvailableException: нет преобразователя типа, доступного для преобразования из типа: net.supertest.SuperObject в требуемый тип: java.io.Serializable со значением net.supertest.SuperObject@2b38b4cb в org. apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo (BaseTypeConverterRegistry.java:206) ~ [camel-core-2.22.1.jar: 2.22.1]
в org.apache.camel.component.jms.JmsBinding.createJmsMessageForType (JmsBinding.java:672) ~ [camel-jms-2.22.1.jar: 2.22.1]
Если я реализую Serializable, он работает хорошо ..., но я ожидал, что он обработает это автоматически, как я использовал подстановочный знак в SERIALIZABLE_PACKAGES.
Любые подсказки, почему это не работает, как ожидалось?
ActiveMQ версия 5.15.6