将Spring集成应用程序嵌入ApacheKaraf

将Spring集成应用程序嵌入ApacheKaraf,spring,spring-integration,apache-karaf,Spring,Spring Integration,Apache Karaf,我正在开发一个Spring应用程序。目前,该应用程序由一个主类按如下方式运行: import org.springframework.context.support.ClassPathXmlApplicationContext; public class Bootstrap { public static void main(String[] args) { new ClassPathXmlApplicationContext("spring-integration-

我正在开发一个Spring应用程序。目前,该应用程序由一个主类按如下方式运行:

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Bootstrap {

    public static void main(String[] args) {
        new ClassPathXmlApplicationContext("spring-integration-demo.xml");
    }

}
我想将我的应用集成到(或者将Apache Karaf集成到我的应用?)


我不知道从哪里开始,如何开始。有人能提供基本建议和/或相关文档的指针吗?

看来我的应用程序必须是一个OSGI捆绑包。此外,它的所有jar/依赖项也必须是bundle


部署捆绑包的一个好方法是将它们放到Karaf的/deploy目录中。

如果您不知道什么是捆绑包,或者什么是OSGi,但更重要的是为什么需要OSGi,那么我强烈建议您首先阅读OSGi,然后尝试一些示例,只有在这之后,再考虑编码包——有一个非常好的maven插件

你需要了解OSGi解决了(但也产生了类似于OSGi容器中JNDI和类加载器的问题,它几乎不关心私有、公共或受保护的问题,或者更令人困惑的是,它增加了一些东西,比如,包特定的可见性,你需要了解)你的很多问题,但是,如果您不了解这些是什么,或者它是如何确切地解决它们的,那么编码到OSGi就是,嗯,没有用的

据我所知,Spring已经提供了几乎所有的jar包,您必须查看存储库

顺便说一句,ApacheKaraf只是一个OSGi容器,但它是一个非常好的容器。您还应该阅读它的文档