0

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

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Bootstrap {

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

}

我想将我的应用程序集成到Apache Karaf(或将 Apache Karaf 集成到我的应用程序中?)。

我不确定从哪里以及如何开始。有人可以提供基本建议和/或相关文档的指针吗?

4

2 回答 2

1

如果你不知道 bundle 是什么,或者什么是 OSGi,但更重要的是为什么需要 osgi,那么我强烈建议先阅读 OSGi in Action,然后尝试一些示例,然后再考虑编码bundles - 有一个非常好的 maven 插件。

Yu 需要了解 OSGi 解决了(但也创建了 - 比如,在 OSGi 容器中的 JNDI 和 Classloaders 问题,它几乎不关心私有、公共或受保护 - 或者在这里更令人困惑 - 它添加了一些类似的东西,捆绑特定可见性,你需要理解)你的很多问题,但是如果你不明白这些是什么或者它如何准确地解决它们,那么编码到 OSGi 只是,好吧,没用。

据我所知,Spring 已经将几乎所有的 jar 包都作为捆绑包提供——你必须查看存储库。

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

于 2012-08-14T10:49:12.407 回答
0

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

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

于 2012-08-14T10:31:09.093 回答