Я занят работой с Camel и Karaf. Я построил проект с двумя пучками:Karaf camel: список маршрутов показывает только маршруты маршрута, а не маршруты Java
- Bundle А содержит Blueprint Camel маршрут
- Bundle B содержит чистый Java прокладывайте
Я следовал инструкции от Джейми компании Goodyear Karaf Cookbook
Оба маршрута очень просты, и я их развертываю с помощью файла функций. Они используют совершенно, а также работать так, как планировалось:
Bundle А переименовывает файлы из /tmp/in
в /tmp/out
Bundle B перемещает файлы из /tmp/in2
в tmp/out2
Все хорошо.
Однако, если я запускаю команду Karaf camel:route-list
только тогда маршрут Blueprint показан
Кроме того, если я бегу camel:context-list
только тогда контекст определяется в расслоении А показан.
Чтобы повторить, оба маршрута работают корректно, это только то, что Java не отображается в списке.
Я что-то упустил?
Вот мой Java Маршрут:
public class FileRouter extends RouteBuilder {
public void configure()
{
from ("file:/tmp/in2?noop=true")
.log("Java DSL doing the heavy lifting")
.to("file:/tmp/out2");
}
}
И Bundle Активатор:
public class Activator implements BundleActivator {
DefaultCamelContext camelContext;
public void start(BundleContext context) {
System.out.println("Starting the bundle");
camelContext = new DefaultCamelContext();
try {
camelContext.setName("JavaDSLContext");
camelContext.addRoutes(new FileRouter());
camelContext.start();
} catch (Exception ex) {
System.out.println("Exception occured! " + ex.getMessage());
}
}
public void stop(BundleContext context) {
System.out.println("Stopping the bundle");
if (camelContext != null) {
try {
camelContext.stop();
} catch (Exception ex) {
System.out.println("Exception occured during stop context.");
}
}
}
}
Является ли маршрут java развернутым как комплект? Или ты каким-то образом обернулся? –
Кстати, я считаю, что самый простой способ работать с Karaf и Camel - использовать план только для соединения routeBuilder, а затем вся реализация находится в фактическом java-маршруте dsl. Это позволяет легко подключить Camel с Karaf. –
Это зависит от того, как реализован ваш Java-пакет. Когда вы делаете это вручную в OSGi, вам нужно самому настроить кучу вещей, которые вы в противном случае получите бесплатно с помощью верблюжьей печати, camel-cdi или camel-scr, которые все могут запускать в OSGi. –