Hi I decided to try to call external camel process from another process. If in the first, specify the name of an external process, the process will be run once. If during the specified dynamic route, bean components are run many times.
Use Apache Camel 2.10.1 and Apacke Karaf. Example route system and log files. First OSGI Bundle have route process <bean id="readDocumentProcess" class="com.myproject.ReadDocument"/> <bean id="osgiDynamicRouter" class="com.myproject.DynamicRouterBean" init-method="initServices"/> <camelContext id="camel-exchange-oos-doc-read" xmlns="http://camel.apache.org/schema/blueprint"> <route id="exchangeDocStoreRoute"> <from uri="file:{{exchange.oos.doc.store}}?sorter=#docFileSorter&filter=#docFileFilter&delay=1200000&recursive=true"/> <log message="Read [${header.CamelBatchSize}:${header.CamelBatchIndex}] ${header.CamelFileNameOnly}"/> <filter> <method bean="docFileFilter" method="acceptByExecute"/> <log message="Processing [${header.CamelBatchSize}:${header.CamelBatchIndex}] ${header.CamelFileNameOnly}"/> <setHeader headerName="startProcess"><simple>${date:now:yyyy-MM-dd HH:mm:ss.SSSS}</simple></setHeader> <split streaming="true" stopOnException="true"> <method bean="zipStaxSplitter" method="splitBody"/> <to uri="bean:readDocumentProcess"/> <filter> <method bean="receiptDocFilter" method="acceptByCustomer"/> <log message="Store [${header.CamelBatchSize}:${header.CamelBatchIndex}:${property.CamelSplitIndex}] ${header.CamelFileName}"/> <to uri="bean:storeDocumentProcess?method=storeReceiptDoc"/> <log message="Send data to external systems [${header.CamelBatchSize}:${header.CamelBatchIndex}:${property.CamelSplitIndex}] ${header.CamelFileName}"/> <dynamicRouter> <method ref="osgiDynamicRouter" method="sendRouteDoc"/> </dynamicRouter> </filter> </split> <log message="Save file information [${header.CamelBatchSize}:${header.CamelBatchIndex}:${property.CamelSplitIndex}] ${header.CamelFileName}"/> <to uri="bean:storeFileProcess"/> </filter> </route> ... </camelContext> Next OSGI Bundle have route process <camelContext id="camel-ccje-exchange-oos-doc-read" xmlns="http://camel.apache.org/schema/blueprint"> <route id="ccjeReceiptDoc"> <from uri="vm:ccjeReceiptDoc"/> <transacted ref="required"/> ... </route> ... </camelContext> class DynamicRouterBean { ... public String sendRouteDoc() { if(routeDoc == null) { routeDoc = readRoutes(references, false); } LOGGER.info("routeDoc: {}", routeDoc); return routeDoc; } } First log file: karaf.log.16 size 100K 2012-10-09 15:39:11,334 | INFO | s/doc-read-store | exchangeDocStoreRoute | 103 - org.apache.camel.camel-core - 2.10.1 | Read [337:0] notification__Vologodskaja_obl_inc_20121003_000000_20121004_000000_493.xml.zip 2012-10-09 15:39:11,338 | INFO | s/doc-read-store | exchangeDocStoreRoute | 103 - org.apache.camel.camel-core - 2.10.1 | Processing [337:0] notification__Vologodskaja_obl_inc_20121003_000000_20121004_000000_493.xml.zip 2012-10-09 15:39:11,425 | INFO | s/doc-read-store | ReadDocument | 144 - exchange-oos-core - 1.3.0.SNAPSHOT | Processing XML document. Size 24045 bytes 2012-10-09 15:39:12,250 | INFO | s/doc-read-store | ReceiptDocFilterBean | 144 - exchange-oos-core - 1.3.0.SNAPSHOT | Processing document notificationOK regNum:0530300001012000001 2012-10-09 15:39:12,251 | INFO | s/doc-read-store | exchangeDocStoreRoute | 103 - org.apache.camel.camel-core - 2.10.1 | Store [337:0:0] Vologodskaja_obl/notifications/daily/notification__Vologodskaja_obl_inc_20121003_000000_20121004_000000_493.xml.zip 2012-10-09 15:39:12,328 | INFO | s/doc-read-store | exchangeDocStoreRoute | 103 - org.apache.camel.camel-core - 2.10.1 | Send data to external systems [337:0:0] Vologodskaja_obl/notifications/daily/notification__Vologodskaja_obl_inc_20121003_000000_20121004_000000_493.xml.zip 2012-10-09 15:39:12,330 | INFO | s/doc-read-store | DynamicRouterBean | 144 - exchange-oos-core - 1.3.0.SNAPSHOT | routeDoc: vm:ccjeReceiptDoc The last message is repeated many times. Next log file: karaf.log.15 size 100K Next log file: karaf.log.14 size 100K ... Next log file: karaf.log.3 size 100K Next log file: karaf.log.2 2012-10-09 15:39:36,409 | INFO | s/doc-read-store | exchangeDocStoreRoute | 103 - org.apache.camel.camel-core - 2.10.1 | Save file information [337:0:] Vologodskaja_obl/notifications/daily/notification__Vologodskaja_obl_inc_20121003_000000_20121004_000000_493.xml.zip -- View this message in context: http://camel.465427.n5.nabble.com/Camel-OSGI-and-dynamicRoute-tp5720793.html Sent from the Camel - Users mailing list archive at Nabble.com.