OSGI+WebServices

16 篇文章 0 订阅
10 篇文章 0 订阅

RT
近段时间处理一些关OSGI的事情,
遇到的问题还真不少,
突然让我接手这么多的工作,
排山倒海般的疑问迎面而来,
对OSGI的了解只是相当皮毛,
实在是举足无措啊.
要短时间之内接手这些东西,
着实不易.
于是,问题接踵而来.
OSGI+WebServices是其中一个,
五一深圳玩完回来,
有点忘乎所已,
呵呵,
差点就把工作的事情抛诸脑后了....
好吧,回正题吧.
1. 如果通过OSGI来发布WebServices?
OSGI中的Bundle的概念是基础,简单来说,我会把开发出来的Bundle当作插件,
要用的时候放进去,不用的时候就拿出来.一个简单的打印HelloWorld的程序,
做成Bundle一点不难,但如果更复杂一点的,
如OSGI + Structs, OSGI + Spring, OSGI+ servlet
网上的文档资料有限,要耐心找找.
当然,我这里,问题的解决方法是:
Apache CXF.
使用一个cxf-dosgi-ri-singlebundle-distribution_1.1.0的Bundle.
具体参照:http://www.ibm.com/developerworks/webservices/library/ws-OSGi/index.html
2. 开发好的Bundle只能放在IDE里运行,不能抽离出来.
这个问题困扰了我三天才得以解决.
假设我的PROJECT里面需要以下Bundles:
0 ACTIVE      org.eclipse.osgi_3.5.1.R35x_v20090827
1 ACTIVE      javax.servlet_2.5.0.v200806031605
2 ACTIVE      org.eclipse.equinox.registry_3.4.100.v20090520-1800
3 ACTIVE      org.eclipse.osgi.services_3.2.0.v20090520-1800
4 ACTIVE      cxf-dosgi-ri-singlebundle-distribution_1.1.0
5 ACTIVE      org.eclipse.equinox.http.registry_1.0.200.v20090520-1800
6 ACTIVE      WebServicesBundle_1.0.0.qualifier
7 ACTIVE      org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100
当我需要启动6的时个,在IDE里面我可以在OSGI启动后输入start 6.
运行正常.
然而当把这部分Bundles 抽离出来,却在启动6的时候出现了Exception.
自己写了一个run.bat的文件来启动OSGI:
java -jar org.eclipse.osgi_3.5.1.R35x_v20090827.jar -console
然而,当我在启动WebServicesBundle_1.0.0.qualifier的时候,
却抛出了异常....
匪夷所思...困扰了我三天.
百思不得其解,只能死马当活马医,
在网上找到了一篇资料.
尝试改了一下run.bat文件.
java -Dorg.osgi.framework.bootdelegation=* -jar org.eclipse.osgi_3.5.1.R35x_v20090827.jar -console
运行,OK!
后续..
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值