Как использовать Jolokia для запуска участка маршрута, который обычно запускается по таймеру

Я могу позвонить по следующему URL-адресу, чтобы узнать состояние участка маршрута Camel...

http://localhost:8080/gateway047/jolokia/exec/org.apache.camel:context=VCM047,type=routes,name=%22VCM047_store_list_schedule%22/getState()

Это даст

{
timestamp: 1425658189,
status: 200,
request: {
operation: "getState()",
mbean: "org.apache.camel:context=VCM047,name="VCM047_store_list_schedule",type=routes",
type: "exec"
},
value: "Started"
}

Участок маршрута определяется как...

<route id="VCM047_store_list_schedule">
      <!-- Fire every 8 hours -->
      <from uri="timer://storeListTimer?fixedRate=true&amp;period=28800000"/>

      <transform>
        <simple>{{WebStoresToProcess}}</simple>
      </transform>

      <to uri="direct:splitStores" />
    </route>

Я хочу иметь возможность запускать этот раздел для тестирования.

Так что, если бы я мог остановить/запустить раздел, это могло бы вызвать его.

Что заставляет меня попробовать...

http://localhost:8080/gateway047/jolokia/exec/org.apache.camel:context=VCM047,type=routes,name=%22VCM047_store_list_schedule%22/stop()

Но это никогда не возвращается.

Может кто посоветует как остановить/запустить верблюжью секцию через Jolokia.


person jeff porter    schedule 06.03.2015    source источник


Ответы (1)


Операция stop() в Camel manageBean является пустой операцией, поэтому вы не должны ожидать никакого возвращаемого значения. Чтобы узнать текущий статус, вы можете снова получитьState().

Если у вас возникли проблемы с самой остановкой (например, она зависает), вы всегда можете использовать прямой клиент JMX (например, JVisualVM), чтобы иметь гораздо лучшую поддержку операций JMX. В отличие от Jolokia (которая представляет собой HTTP-оболочку для JMX), автономный инструмент может дать вам гораздо больше поддержки при обнаружении доступных операций и устранить некоторые сложности, с которыми вы можете столкнуться при использовании HTTP.

person Gergely Bacso    schedule 06.03.2015