有一段时间没有更新博客了,最近有很多朋友在问怎么部署,今天更新一下,专门讲讲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 交流
相关推荐
《 OSGi实战》是学习OSGi的全面指导,利用与架构和开发人员相关的示例清楚地讲解OSGi概念,同时探讨了很多实践场景和技术,阐述了开发人员有多需要OSGi,怎么将OSGi嵌入其他容器中,将遗留系统移入OSGi的最佳实践,...
文内难免有些错误,还请大家不吝指正,也希望本文能作为国内 OSGI 的抛砖之作,引出更多的关于 OSGI的 Opendoc,在我的 blog 上也会不断的编写关于自己在 OSGI、Equinox 上的实战的体会和心得,欢迎大家多多交流。
为了弥补OSGi规范在应用指导方面的不足,四位活跃在OSGi开发第一线的技术专家联手打造了《OSGi实战》。《OSGi实战》面向OSGi规范的使用者,系统、全面、深入地阐述OSGi的重要特性及其使用方法。《OSGi实战》还介绍了...
资源名称:OSGi实战内容简介:为了弥补OSGi规范在应用指导方面的不足,四位活跃在OSGi开发第一线的技术专家联手打造了《OSGi实战》。《OSGi实战》面向OSGi规范的使用者,系统、全面、深入地阐述OSGi的重要特性及其...
osgi,林昊写的osgi实战和进阶,学习osgi的好东西,入门的首选。
OSGI实战教程,从需求实现以及技术角度两方面来体验OSGI。
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
java OSGI实战
OSGI进阶.pdf,OSGI实战.pdf,OSGI入门和整合Spring.pdf
BlueDavy的OSGI实战和OSGI进阶两个开源文档,学习OSGI不错的资料
OSGI实战.pdfOSGI实战.pdfOSGI实战.pdfOSGI实战.pdfOSGI实战.pdf
OSGI实战中文版。
OSGI实战及源码
OSGI实战.pdf
给出了可用插件bridge和一个可用osgi例子,可以帮助学习osgi的同学学习部署osgi程序到tomcat中。
把OSGI部署成一个可运行的例子,怎样 部署启动一个OSGI
《OSGi实战》及其相关代码 《OSGi实战》及其相关代码 《OSGi实战》及其相关代码 《OSGi实战》及其相关代码
osgi实战源码 通过一个完整购物车实例来展示OSGI的实现.代码简单易懂,可扩展.