
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЖрдк рдЕрдкрд╛рдЪреЗ рдХреИрдорд▓ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдЯ рдЧреНрд░рд╛рдл рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрди рдорд╛рд░реНрдЧреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╡рд╕рдВрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдФрд░ рдЕрдкрд╛рдЪреЗ рд╕реЗрд╡рд╛рдорд┐рдХреНрд╕ рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдКрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдПрдХ рдЕрд▓рдЧ рд╕реЗрд╡рд╛ рдореЗрдВ рдорд╛рд░реНрдЧ рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛ рдмрд╕ рдХреЗ рднреАрддрд░, рдЬрд╣рд╛рдВ рдРрд╕реЗ рдХрдИ рдорд╛рд░реНрдЧ рд╣реИрдВ, рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред
Apache ServiceMix рдХреНрдпрд╛ рд╣реИрдЕрдкрд╛рдЪреЗ рдХреИрдорд▓ рд╕рд░рд▓ рдбреАрдПрд╕рдПрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рддреИрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рдПрдХреНрд╕реЗрд╕ рдПрдХреНрд╕реЗрд╕ рдШрдЯрдХреЛрдВ рдХреЗ рдПрдХ рд╕рдореГрджреНрдз рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред
Apache ServiceMix, Apache ActiveMQ, Camel, CXF, Karaf рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХреАрдХрд░рдг рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдкрд╛рдЪреЗ рд╕рд░реНрд╡рд┐рд╕рдорд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдКрдВрдЯ xml, рдЬрд╛рд╡рд╛, рд╕реНрдХрд╛рд▓рд╛, рдЖрджрд┐ рдХреЗ рд░реВрдк рдореЗрдВ dsl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╕ рдореЗрдВ рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рдХрддрд╛рд░ рд╕реЗ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЪрд▓реЛ рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪрддреЗ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ), рд╣рдо xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ), рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрд╡рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЗрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
<?xml version="1.0" encoding="UTF-8"?> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="file:camel/input"/> <log message="Moving ${file:name} to the output directory"/> <to uri="file:camel/output"/> </route> </camelContext> </blueprint>
рд╡рд░реНрдгрд┐рдд рдорд╛рд░реНрдЧ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдЯрд╛рдпрд░ рдиреЗ рдмрджрд▓рддреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рдЬрдорд╛ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд╣рдо рдпрд╣ рд╕рдордЭ рдЧрдП рд╣реИрдВ рдХрд┐ рдЗрди рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдХрдард┐рди рдФрд░ рдХрдард┐рди рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдорд╛рд░реНрдЧ рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрдиреЗ рд▓рдЧрд╛ рдХрд┐ рд░реВрдЯ рдЧреНрд░рд╛рдл рдХреЗ рд╕реНрд╡рдд: рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╕рднреА рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред
рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЛрдиреЗ рдФрд░ рдХрд┐рдирд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ, рд╣рдо рдХреБрдЫ рд╕реБрдВрджрд░ рдЕрдВрдзрд╛ рдХрд░рддреЗ рд╣реИрдВ!
рдорд╛рд░реНрдЧ рддрддреНрд╡
рдорд╛рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ (рдпрд╣ рдПрдХ рд╣реИ) рдХрд╛ рд╡рд░реНрдгрди рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рдХрдерди from
рдХрд┐рдпрд╛ рдЧрдпрд╛ from
ред рдпрд╛рдиреА рдХреЗ рд▓рд┐рдП
<from uri="file:camel/input"/>
рдПрдВрдбрдкреЙрдЗрдВрдЯ file:camel/input
рд╣реЛрдЧреА file:camel/input
рд╡рд╣ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдорд╛рд░реНрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ camel/input
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд▓реА рдЬрд╛рдПрдВрдЧреАред
рдорд╛рд░реНрдЧ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд┐рдВрджреБ (рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╣реИрдВ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдмрд╣реБрд╡рдЪрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИ) рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рд╕рдВрджреЗрд╢ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднреА рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рдеред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдмрд┐рдВрджреБ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ to
ред рдпрд╛рдиреА рдХреЗ рд▓рд┐рдП
<to uri="file:camel/output"/>
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ file:camel/output
рд╣реЛрдЧрд╛ file:camel/output
ред рд╡рд╣ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдорд╛рд░реНрдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдлрд╝рд╛рдЗрд▓реЗрдВ camel/output
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рд╣реЗрдЬреА рдЬрд╛рдПрдВрдЧреАред
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣рдо рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИрдВред рдкрд╕рд▓рд┐рдпрд╛рдВ рд╕реНрд╡рдпрдВ рдорд╛рд░реНрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдВрдЧреАред
рдорд╛рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
Servicemix JMX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдо http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП jolреЛрдХрд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдорд╛рд░реНрдЧреЛрдВ рдХрд╛ рдпрд╣ рд╡рд┐рд╡рд░рдг рд▓реЗрдВ
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route id="the-clock-is-ticking"> <from uri="timer://foo?fixedRate=true&period=1000"/> <to uri="jms:topic:timer?connectionFactory=demo"/> </route> <route id="service-a"> <from uri="jms:topic:timer?connectionFactory=demo"/> <to uri="jms:queue:service-a?connectionFactory=demo"/> </route> <route id="service-a-log"> <from uri="jms:queue:service-a?connectionFactory=demo"/> <to uri="log:service-a"/> </route> </camelContext> </beans>
рдорд╛рд░реНрдЧ рд╕реВрдЪреА
рд╡рд┐рдзрд┐ http://host:8181/jolokia/read/org.apache.camel:type=routes,*
рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдорд╛рд░реНрдЧреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИред
service-a
рдорд╛рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рд░рд┐рдЯрд░реНрди рдбреЗрдЯрд╛:
"org.apache.camel:context=a.xml,name=\"service-a\",type=routes": { "StatisticsEnabled": true, "EndpointUri": "jms:\/\/topic:timer?connectionFactory=demo", "CamelManagementName": "a.xml", "ExchangesCompleted": 173, "LastProcessingTime": 2, "ExchangesFailed": 0, "Description": null, "FirstExchangeCompletedExchangeId": "ID-...", "StartTimestamp": "2018-12-17T07:01:12Z", "FirstExchangeCompletedTimestamp": "2018-12-17T07:01:13Z", "LastExchangeFailureTimestamp": null, "MaxProcessingTime": 35, "LastExchangeCompletedTimestamp": "2018-12-17T07:04:05Z", "Load15": "", "DeltaProcessingTime": -8, "OldestInflightDuration": null, "ExternalRedeliveries": 0, "ExchangesTotal": 173, "ResetTimestamp": "2018-12-17T07:01:12Z", "ExchangesInflight": 0, "MeanProcessingTime": 4, "LastExchangeFailureExchangeId": null, "FirstExchangeFailureExchangeId": null, "Uptime": "2 minutes", "CamelId": "camel-3", "TotalProcessingTime": 827, "FirstExchangeFailureTimestamp": null, "RouteId": "service-a", "RoutePolicyList": "", "FailuresHandled": 0, "MessageHistory": true, "Load05": "", "OldestInflightExchangeId": null, "State": "Started", "InflightExchanges": 0, "Redeliveries": 0, "MinProcessingTime": 0, "LastExchangeCompletedExchangeId": "ID-...", "Tracing": false, "Load01": "" }
рдмрд╣реБрдд рд╕рд╛рд░реЗ RouteId
рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ, RouteId
, Context
, EndpointUri
, State
, Uptime
, рдЧреНрд░рд╛рдл рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдорд╛рд░реНрдЧ рдХреЗ рд╕рд╛рде рдореИрдЯреНрд░рд┐рдХреНрд╕ рд▓реМрдЯрд╛рддреА рд╣реИ: ExchangesTotal
, ExchangesCompleted
, ExchangesFailed
, ExchangesInflight
, рдЖрджрд┐ред
рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐ рд╣рдорд╛рд░реА рдбреЗрдЯрд╛ рдЬрд░реВрд░рддреЛрдВ рдХрд╛ 90% рдХрд╡рд░ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдорд╛рд░реНрдЧ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдорд╛рд░реНрдЧ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдФрд░ рдпреЛрдЬрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд┐рдзрд┐рдпрд╛рдБ рдирд┐рдХрд╛рд╕ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдбреЗрдЯрд╛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред
рдорд╛рд░реНрдЧ рдХрд╛ рд╡рд┐рд╡рд░рдг
рдорд╛рд░реНрдЧ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╡рд┐рдзрд┐ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
http://host:8181/jolokia/exec/org.apache.camel:context=a.xml,type=routes,name="service-a"/createRouteStaticEndpointJson(boolean)/true
рд▓реМрдЯрд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
{ "request": { "mbean": "org.apache.camel:context=a.xml,name=\"service-a\",type=routes", "arguments": ["true"], "type": "exec", "operation": "createRouteStaticEndpointJson(boolean)" }, "value": "{\"routes\": { \"service-a\": { \"inputs\": [ { \"uri\": \"jms:\/\/topic:timer?connectionFactory=demo\" } ], \"outputs\": [ { \"uri\": \"jms:\/\/queue:service-a?connectionFactory=demo\" } ] }}\n}\n", "timestamp": 1545040570, "status": 200 }
рдорд╛рд░реНрдЧ рдХрд╛ рдирдХреНрд╢рд╛
рдорд╛рд░реНрдЧ рдЖрд░реЗрдЦ рд╡рд┐рдзрд┐ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
http://host:8181/jolokia/exec/org.apache.camel:context=a.xml,type=routes,name="service-a"/dumpRouteAsXml(boolean)/true
ред
рдпрд╣ рд╡рд┐рдзрд┐ xml рдлреЙрд░реНрдо рдореЗрдВ рд░реВрдЯ рдЖрд░реЗрдЦ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд▓реМрдЯрд╛рддреА рд╣реИ рдЬрдм рдЗрд╕рдореЗрдВ рдЗрд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ org.apache.camel.builder.RouteBuilder
(рд╡рд╕рдВрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдорд╛рд░реНрдЧреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдорд╛рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдзрд┐ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░реЗрдЧреАред
рд▓реМрдЯрд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
{ "request": { "mbean": "org.apache.camel:context=a.xml,name=\"service-a\",type=routes", "arguments": ["true"], "type": "exec", "operation": "dumpRouteAsXml(boolean)" }, "value": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<route customId=\"true\" id=\"service-a\" xmlns=\"http:\/\/camel.apache.org\/schema\/spring\">\n <from uri=\"jms:topic:timer?connectionFactory=demo\"\/>\n <to uri=\"jms:queue:service-a?connectionFactory=demo\" id=\"to5\"\/>\n<\/route>\n", "timestamp": 1545040727, "status": 200 }
рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдВ
рдкреНрд░рд╛рдкреНрдд рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ vis.js
рд╣реБрдП, рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЧреНрд░рд╛рдл рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ vis.js
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛

рдкреЙрдЗрдВрдЯреНрд╕ рдПрдВрдЯреНрд░реА рдФрд░ рдПрдЧреНрдЬрд┐рдЯ рдкреЙрдЗрдВрдЯреНрд╕ рд╣реИрдВ, рдПрдбрд╝рд┐рдпрд╛рдБ рд░реВрдЯ рд╣реИрдВ, рдФрд░ рд░реВрдЯреНрд╕ рдкрд░ рдЧреНрд░реЗ рдирдВрдмрд░ ExchangesTotal
рдореЗрдЯреНрд░рд┐рдХ рд╣реИрдВред
рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░реЗрдЦрд╛рдВрдХрди
рдЧреНрд░рд╛рдл рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬрдм рдКрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдмрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд╡реЗрджрди рдореЗрдВ рдорд╛рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
@Component public class EventRoutes extends RouteBuilder { @Override public void configure() throws Exception { from("jms:topic:timer") .inOnly("bean:service?method=handle"); } }
рдЖрдк servicemix
рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧреНрд░рд╛рдл рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ jms:topic:timer
рд╕реЗ bean:service
рдПрдХ рдирдпрд╛ рдорд╛рд░реНрдЧ рдЖрд░реЗрдЦ рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдорд╛рд░реНрдЧ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ, рд╣рдо рдмрд╕ рдФрд░ рдПрдХреАрдХреГрдд рд╕реЗрд╡рд╛рдУрдВ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордЧреНрд░ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рджрд░рдЕрд╕рд▓ рд╣рдорд╛рд░реЗ рдЯрд╛рдпрд░ рдХрд╛ рдЧреНрд░рд╛рдл рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ

рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдРрдкреНрд╕ рдХреЗ рд╕рдмреВрдд рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ - github