`
wyuxiao729
  • 浏览: 34166 次
  • 性别: 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实战》完整中文版

    《 OSGi实战》是学习OSGi的全面指导,利用与架构和开发人员相关的示例清楚地讲解OSGi概念,同时探讨了很多实践场景和技术,阐述了开发人员有多需要OSGi,怎么将OSGi嵌入其他容器中,将遗留系统移入OSGi的最佳实践,...

    OSGi实战(OSGi规范制定者亲自撰写,汇集Apache项目技术实战经验),完整扫描版

    为了弥补OSGi规范在应用指导方面的不足,四位活跃在OSGi开发第一线的技术专家联手打造了《OSGi实战》。《OSGi实战》面向OSGi规范的使用者,系统、全面、深入地阐述OSGi的重要特性及其使用方法。《OSGi实战》还介绍了...

    osgi,林昊写的osgi实战和进阶

    OSGI(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发者将应用程序分解为一系列可独立部署、更新和交互的服务。林昊所著的《OSGI实战》与《OSGI进阶》是深入理解OSGI技术的重要参考资料,适合...

    OSGI实战和OSGI进阶打包提供

    其中,"OSGI实战.pdf"着重于实践操作,而"osgiopendoc2.pdf"可能包含了更多关于OSGI的进阶话题和技术细节。 总之,掌握OSGI技术对于提升Java开发的灵活性和可维护性具有重要意义。通过深入学习和实践,开发者能够...

    OSGi实战

    资源名称:OSGi实战内容简介:为了弥补OSGi规范在应用指导方面的不足,四位活跃在OSGi开发第一线的技术专家联手打造了《OSGi实战》。《OSGi实战》面向OSGi规范的使用者,系统、全面、深入地阐述OSGi的重要特性及其...

    OSGI 实战教程

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

    OSGI资料,OSGI进阶,OSGI实战,OSGI入门和整合Spring

    3. **部署与打包**:学习如何将OSGI应用打包成bundle并部署到OSGI运行时环境,如Apache Felix或Karaf。 4. **调试与监控**:了解OSGI环境下如何进行日志跟踪、性能分析和故障排查。 《OSGI入门和整合Spring》则关注...

    osgi 在web容器中部署

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

    OSGI实战及源码

    2. **模块化开发**:讲解如何将Java项目划分为多个独立的模块,并使用OSGI的API进行打包和配置。 3. **类加载机制**:解析OSGI的类加载机制,如何处理类的加载、查找和隔离。 4. **服务注册与发现**:探讨OSGI中的...

    OSGi 入门+进阶+实战

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

    OSGI实战(PDF)

    OSGI实战这本书是面向对OSGI技术感兴趣的Java开发者的入门资料,旨在提供全面的OSGI知识体系,帮助读者理解和应用OSGI框架。 在OSGI中,每个bundle都是一个独立的运行单元,有自己的类加载器,可以加载自己的类和...

    OSGI实战+进阶

    OSGI的核心概念是服务和模块化,它的出现解决了Java应用程序的复杂性问题,使得组件之间的依赖关系更加清晰,同时也支持动态部署和更新。 在"OSGI实战"中,你将学习到如何使用OSGI来开发模块化的Java应用。实战部分...

    OSGI实战中文版

    **OSGI实战中文版** OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发者将应用程序分解为独立的、可热插拔的模块,称为服务。这些服务可以互相发现并交互,提供了灵活的组件化开发环境。...

    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 实战 pdf

    《OSGi实战》一书由BlueDavy撰写,是一份详尽的OSGi入门与实战指南,适合初学者和有经验的开发者深入了解OSGi框架及其应用。以下是对该书籍核心知识点的总结: ### OSGi简介 OSGi(Open Service Gateway Initiative...

    OSGI实战.docx

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

    OSGi实战 实例源代码

    8. **打包和部署**:源代码中可能包含了如何将Java项目打包成OSGi Bundle的步骤,例如使用Maven的BND插件或者Gradle的OSGi插件。 通过分析这些源代码,读者可以学习到如何设计、构建和部署OSGi应用,理解模块间的...

Global site tag (gtag.js) - Google Analytics