当前位置: 首页 > 知识库问答 >
问题:

Apache Karaf OSGi应用程序结构

王景山
2023-03-14

我需要创建和部署一个应用程序到Karaf。但是我需要使用camel组件和java组件(简单的spring bean)。流程应如下:

WebService(not matter for me) -> camel-component -> spring-bean -> camel-component -> WebService(not matter for me).
su-camel
  -src
    -main
      -resources
        -META-INF
          xbean.xml (spring-bean)
    -test
      -java
      -resources

su-bean
  -src
    -main
      -java
      -resources
        -META-INF
          xbean.xml (spring-bean)
    -test
      -java
      -resources

共有1个答案

益炜
2023-03-14

最简单的解决方案是使用bean和camel路由只创建一个bundle。通常不需要从bean中拆分路由。如果出于某种原因需要拆分它,那么只需使用两个bundle。

为了使部署更容易,您可以使用karaf特性文件,在该文件中列出两个bundle,并最终列出它们的进一步依赖关系。Karaf还支持可以包含许多bundle的.kar文件。如果karaf服务器无法访问maven repo,则可以使用kar文件。

 类似资料:
  • Tornado web 应用程序通常包含一个或多个 子类, 一个 对象来为每个控制器路由到达的请求, 和一个 main() 方法来启动服务器. 一个小型的 “hello world” 示例看起来是这样的: import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def

  • 问题内容: 说我有这段代码来分隔expressjs中的路由: 并要求在: 1)如何以最佳方式将数据库查询分为新文件? 即使我分开数据库逻辑,该文件也会变得很大。 2)什么是分隔路线的好方法?也许是单独的模块?然后要求他们都参加? 问题答案: 这里有一个类似的问题,您应该阅读:如何构建express.js应用程序? 1)您所有的查询逻辑都应放在模型中(例如,位于/ models中的模块) 2)将您的

  • Laravel中的应用程序结构基本上是项目中包含的文件夹,子文件夹和文件的结构。 一旦我们在Laravel中创建了一个项目,我们就可以看到应用程序结构的概述,如图所示。 这里显示的快照是指Laravel的根文件夹,即laravel-project 。 它包括各种子文件夹和文件。 文件夹和文件的分析及其功能方面如下 - App 它是应用程序文件夹,包含项目的完整源代码。 它包含事件,异常和中间件声明

  • Rails 有一个有趣的特点,它会对你的 web 应用结构增加限制。不过,这些限制使它更加容易创建应用。让我们看看其中的原因。 Models, Views 和 Controllers 回到 1979 年,Trygve Reenskaug 提出了开发交互应用的一个新架构。在他的设计中,应用分离为三种类型的组件:model,view 和 controller。 model 负责维护应用的状态。有时状态

  • 问题内容: 在一个大型AngularJS应用程序上,所有我的控制器都放在一个“ controllers.js”文件中,这对我来说似乎难以维护。有没有更好的方法可以做到这一点,例如: 这也适用于过滤器,服务,指令等… 问题答案: 有很多组织代码的方法。您可以查看以下链接 使用AngularJS构建Huuuuuge应用 大型AngularJS和JavaScript应用程序中的代码组织 AngularJ

  • 我想知道将应用程序分成多个独立部分的最佳方式(如果可能的话)是什么。例如,如果你有三个独立的单元来做不同的事情,你可能有两个不同的应用程序,它们结合了这三分之二的部分,你会怎么做? 我来自windows后台,在Visual Studio中,您可以在一个解决方案下拥有多个独立的项目,然后您可以在需要的地方重用它们。 你能在Android系统中使用这个吗?我知道我可以把东西放在不同的包中,但不确定如何