`
wyuxiao729
  • 浏览: 34714 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

osgi实战项目(osmp)一步一步玩转osgi之项目部署(2)

    博客分类:
  • osgi
阅读更多

    有一段时间没有更新博客了,最近有很多朋友在问怎么部署,今天更新一下,专门讲讲OSMP的编译和部署以及开发调试!

 

OSMP的部署很简单,分为三部分:

 

工程导入和编译:

     1:从osmp(http://git.oschina.net/wyuxiao729/osmp)下载整个工程到本地电脑

           


      2:将工程导入eclipse

            File->Import...->选Maven 下的 Existing Maven Projects  -> RootDirectory Browse...选择osmp下载的本地目录 -> 勾选 Add project(s) to working set 填入osmp -> Finish



 

选择Package Explorer视图右上角的下拉三角形,切换到Working Sets模式下,方便查看项目管理和查看



 

eclipse会自动下载所依赖的jar,这个过程可能第一次稍微有点儿久,耐心等待!

 

下载完成后,可以在Work Sets的 osmp-parent目录下右键选 Maven - >  Update Projects...刷新一下

 

 在osmp-parent 工程下点右键 Run As... - > Maven Install 编译全部工程

 

 

 依赖Zookeeper安装:

      zookeeper安装网上很多教程,这里不细讲,推荐大家通过docker的方式跑一个zookeeper起来。

 

 数据库脚本导入:

      将osmp工程目录下的osmp.sql脚本导入 mysql数据库

 

 

ServiceMix部署:

      - servicemix最好能部署到linux环境下,在windows环境下服务器启动和停止功能不能使用。

      - 将osmp工程下的 apache-servicemix-5.1.0.rar解压并上传到linux服务器上,配置好jdk环境,这里强调一下osmp只能在jdk1.7以上的环境下运行

      - osmp只能跑在servicemix-5.0.1版本下,osmp里使用spring不支持spring4,如果大家要使用高版本,请自行将osmp里spring版本升级到4以上,osmp框架经过生产环境的检测,已经在线上稳定运行2年多,大家可以自行升级spirng或servicemix版本进行测试和研究!

 

     配置文件修改:

     进入${SERVICEMIX_HOME}/etc目录, 修改com.osmp.config.cfg文件,修改 zookeeper.url=10.2.1.49:2181 为你实际部署的zookeeper地址保存并退出

     进入${SERVICEMIX_HOME}/etc/datasource目录, 修改 com.osmp.jdbc.properties 数据库配置文件,特别注意一下 osmp.jdbc.name=osmp 一定要与数据库实际名称一致。

 

     Servicemix开启远程debug功能:

     由于在eclipes环境搭建osgi环境非常的麻烦,对于依赖包的管理也不是非常的方便,因此建议直接在karaf或者servicemix里通过远程调试代码。

     进入${SERVICEMIX_HOME}/bin目录 vim 编辑 servicemix文件 在 “export KARAF_SCRIPT” 之后新增一行 “export KARAF_DEBUG=true” 保存退出

    

     授权 

     chmod 755 ${SERVICEMIX_HOME}/bin/*

 

     启动

     ${SERVICEMIX_HOME}/bin/start 或 ${SERVICEMIX_HOME}/bin/servicemix 前者启动后守护进程 ,后者启动直接进入控制台,如果使用前者启动,通过  ssh -p 8101 smx@localhost 后输入密码 smx 登录控制台

     

 

 PS:5005为远程调试端口,只有开启了debug功能才会出现。 至此我们的服务节点已经跑起来了。

 

    服务发布:

    在控制台上通过 list 命令可以看到已经布的服务组件,以osmp- 开头的为osmp初始的服务和基础组件,我已经在上传到git上的时候就打到${SERVICEMIX_HOME}/deploy目录下了

    大家可以将自己的服务通过ftp或其它方式上传到${SERVICEMIX_HOME}/deploy目录下即完成服务的发布。也可以通过osmp-web管理界面的bundle管理进行发布。

 

注:如果通过karaf部署的话,需要自己安装所依赖的bundle包括 spirng,webconsole,cxf,camel等。servicemix默认没有安装 webconsole,需要手动安装webconsole,命令为:features:install webconsole,也可以添加servicemix启动时自动安装

       vim  ${SERVICEMIX_HOME}/etc/org.apache.karaf.features.cfg 在 featuresBoot后添加 ",webconsole" 即可。

 

 OSMP-web管理后台部署:

     osmp-web是 osmp的管理后台,直接部署到jetty或tomcat等web服务器即可,具体部署过程不多说,只说一下需要修改配置的地方。

     classpath目录下的 dbconfig.properties 数据库配置,按实际修改,spring-main.xml 最下面的 zookeeper按实际修改即可。

 

访问:

    http://localhost:8080 用户名: admin 密码:12345

 

 

 

登录以后,新增或修改服务器 注意管理界面url 服务器ssh端口、用户名、密码的填写,执行脚本路径是按lunux下osmp/bin的路径。新增或修改服务器后,可以在组件列表查看当前服务节点上安装的组件。

 

 

 

 

 修改监控组件上报地址:

        - osmp-monitor 是 节点监控组件,也是在osgi环境下camel使用的一个demo,修改osmp-monitor配置文件 bundle-context.xml 将 配置文件中的  <camel:to uri="http://192.168.4.202:8080/servers/jvmMomitor.do"></camel:to> 中IP和端口修改为osmp-web服务器的IP和端口。

        - 在osmp-monitor工程上右键 Run As... - > Maven Install 重新编译打包, 在osmp-web 组件管理里 安装/升级 - > 选择刚刚打包编译的 osmp-monitor jar包 在线安装。

        - 安装完成后,可以查看服务器管理里服务器的状态和在系统监控 - >  性能监控查看服务器的性能。

 

至此 osmp 部署基本结束,后续还会继续博客还有很多关于osmp的高级功能和基于osmp框架下的服务组件的开发等内容。敬请期待!!!

 

如果在部署过程中有任何不明白的地方欢迎加 qq:335898216 交流

 

 

 

 

  • 大小: 80.7 KB
  • 大小: 54.2 KB
  • 大小: 78.6 KB
  • 大小: 134.5 KB
  • 大小: 70 KB
  • 大小: 58.5 KB
  • 大小: 101.8 KB
分享到:
评论
3 楼 wyuxiao729 2017-02-07  
lzsf1984 写道
运行osmp-web项目过程中报错,错误如下:KeeperErrorCode = NoNode for /osmp/service,zookeeper服务已经启动,并且配置文件也做了修改。能否给予指导

需要先在servicemix里部署demo后才不会报错。或者手动创建一个/osmp/service节点到zookeeper
2 楼 lzsf1984 2017-01-25  
运行osmp-web项目过程中报错,错误如下:KeeperErrorCode = NoNode for /osmp/service,zookeeper服务已经启动,并且配置文件也做了修改。能否给予指导
1 楼 lzsf1984 2017-01-25  
   

相关推荐

    osgi 在web容器中部署

    2. **获取桥接工具**:下载并添加Apache Felix WebConsole或Pax Web到你的项目中。 3. **配置桥接工具**:根据工具的文档配置相应的XML配置文件,如Tomcat的`context.xml`或`server.xml`,以便它们能在Tomcat启动时...

    OSGi 入门+进阶+实战

    1. **构建OSGi应用**:使用Maven或Gradle的OSGi插件,可以方便地构建符合OSGi规范的模块化项目。 2. **Spring与OSGi集成**:Spring Dynamic Modules (SDM) 提供了将Spring应用与OSGi环境结合的工具,使Spring应用...

    OSGI合集 OSGi原理与最佳实践

    网上收集的OSGI资料. 包括: OSGi原理与最佳实践(精选版).pdf OSGI实战和源码.rar osgi进阶.pdf Introduce.OSGi.ppt OSGi.in.action.ppt r4.cmpn.pdf r4.core.pdf r4.enterprise.pdf

    OSGI实战.docx

    1. Equinox:由Eclipse基金会开发,是OSGI参考实现之一,广泛用于Eclipse IDE和其他企业级项目。 2. Oscar:Apache Felix项目的一部分,也是一个流行的开源OSGI实现。 3. Knopflerfish:轻量级且功能丰富的OSGI框架...

    把OSGI部署成一个可运行的例子

    本教程将详细讲解如何将OSGI部署为一个可运行的例子,帮助你了解其基本概念和操作流程。 一、OSGI基础 1. 模块化系统:OSGI的核心是模块化,每个模块称为一个Bundle,每个Bundle都包含类、资源和元数据,它们有...

    基于osgi框架实战源码

    标题"基于osgi框架实战源码"揭示了本次学习的主题,即OSGi框架在实际项目中的应用。"osgi实战源码"这一描述进一步强调了这是一份可以动手实践的源代码,它以一个具体的购物车案例为背景,展示了如何在项目中运用OSGi...

    OSGI 实战教程

    **OSGI实战教程** OSGI(Open Service Gateway Initiative)是一种开放标准,用于创建模块化Java应用程序。它通过提供一个服务导向的架构,使得组件可以独立地安装、升级、激活和停用,从而解决了Java应用程序的...

    OSGi动态部署案例

    在这个"OSGi动态部署案例"中,我们关注的是如何在OSGi环境中实现动态识别和管理观察者(Observer)的添加和删除。观察者模式是一种设计模式,允许对象在其状态改变时通知其他对象,通常用于实现事件驱动编程。在OSGi...

    OSGi原理与最佳实践(完整版)&OSGi_in_action

    1. **实战指南**:通过实际案例,展示如何将OSGi应用于不同的场景,如企业级应用、嵌入式系统或云计算环境。 2. **高级特性**:深入讲解OSGi的高级功能,如动态性、安全性、远程服务和网络服务。 3. **工具与框架*...

    OSGI进阶实战教程

    OSGi学习不错的材料 OSGi学习不错的材料 OSGi学习不错的材料 OSGi学习不错的材料

    OSGi原理与最佳实践pdf下载(完整版)

    OSGI原理与最佳实践的完整版,共12章 ...第2 章OSGi 框架简介 第3 章基于Spring-DM 实现Petstore 第4 章基于Apache CXF 实现分布式Petstore 第5 章构建OSGI Bundle Repositor'y 第6 章OSGi 规范解读 ……

    OSGI 开发文档中文的

    9. **实战应用**:"OSGI实战.pdf"可能包含实际项目案例,演示如何在真实场景中应用OSGI解决特定问题。 通过阅读这份文档和解压后的"dist.rar"和"code.rar"文件,你不仅可以深入了解OSGI技术,还能获得实践经验,...

    Equinox OSGI ServletBridge 原理与实践.rar

    通过学习了解 Servlet Container 中嵌入 OSGI, 我们也可以将这种技术用到其它的已有的系统中来部署 OSGI 应用。 OSGI 在 J2EE 环境下的应用越来越广泛,目前在 Servlet 应用中使用 OSGI 有两种方式:Servlet ...

    osgi规范实战进阶等等等

    - **OSGI实战**:OSGI实战.pdf可能提供了实际案例,帮助读者了解如何将OSGi应用于实际项目。 - **介绍性材料**:Introduce.OSGi.ppt和OSGi.in.action.ppt可能是幻灯片形式的教程,涵盖了基础概念和用法。 通过...

    OSGi 入门 学习 实战 进阶

    《OSGi实战》这本书可能涵盖了如何在实际项目中应用OSGi技术,包括Bundle的创建、服务的注册和发现、依赖管理等方面。通过这本书,读者可以了解到如何将复杂的程序分解为小型、可重用的模块,以及如何利用OSGi的生命...

    OSGI 入门资料PDF

    学习OSGI实战,你需要理解bundle的打包、部署和配置,以及如何使用OSGI命令行工具进行管理。 3. OSGI进阶: 进阶学习OSGI涉及到更深入的概念,如动态性、服务和事件模型。动态性意味着bundle可以在运行时安装、...

    OSGI原理与最佳实践

    资源名称:OSGI原理与最佳实践内容简介:国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入...

    osgi介绍osgi介绍

    通过阅读《OSGi原理与最佳实践》和《OSGI实战》这两本书,可以深入了解OSGi的细节,学习如何在实际项目中有效地使用OSGi,解决上述挑战,并充分利用其优势。这些书籍通常会涵盖OSGi的配置、服务注册与查找、打包规范...

Global site tag (gtag.js) - Google Analytics