2014-10-01 3 views
0

Я новичок в JMX. Я использую Spring 4 с JMX. Я также использую Apache Camel и хотел бы разоблачить метод остановки. У меня есть настройки все, но при нажатии на методе остановки в MBeans в JConsole я получаю следующее исключение:JMX: java.io.NotSerializableException: org.apache.camel.spring.SpringCamelContext

Problem invoking stop : java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.WriteArbortedException:writing aborted:java.io.NotSerializableException: org.apache.camel.spring.SpringCamelContext 

Проект находится на GitHub: https://github.com/rajivj2/example2/

Класс для кода MBean находится находится в com.example.config.ApacheCamelConfig.java

После того как проект будет построена с использованием МВН чистая установка запуска в командной строке:

java -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar server-app-jar-with-dependencies.jar 

После этого в папке bin JDK Java откройте jconsole и подключитесь к серверу-app-jar-with-dependencies.jar. Найдите вкладку MBeans и метод остановки.

Я не вижу, где я ошибаюсь. SpringCamelContext предоставляется Apache Camel.

ответ

0

вам не следует возвращать CamelContext - он не является сериализуемым.

отделить @Bean от @ManagedOperation - операция для остановки маршрута должна иметь тип возврата void

Смежные вопросы