部署JAR:
1. Transform a non-OSGi JAR file into an standard OSGi bundle
见:http://springsfeng.iteye.com/admin/blogs/1154006
2. Converting a JAR Using the wrap Scheme
用法:wrap:LocationURL
说明:LocationURL用于获取JAR,wrap Schem的ULR handler将转换获取的JAR文件为标准的Bundle.
例如:osgi:install -s wrap:mvn:hsqldb/hsqldb/1.8.0.7
<feature name="examples-jpa-osgi" version="4.4.1-fuse-00-08">
<feature version="4.4.1-fuse-00-08">jpa-hibernate</feature>
<bundle>wrap:mvn:hsqldb/hsqldb/1.8.0.7</bundle>
<bundle>mvn:org.apache.servicemix.examples.jpa-osgi/wsdlfirst-
cxfbc-bundle/4.4.1-fuse-00-08</bundle>
<bundle>mvn:org.apache.servicemix.examples.jpa-osgi/wsdlfirst-
cxfse-bundle/4.4.1-fuse-00-08</bundle>
</feature>
部署WAR:
1. Converting the WAR Using the war Scheme
(1) 用法:war:LocationURL[?option]
说明:LocationURL可以是mvn:或file:URL或其他的URL地址,而Options为附在URL后的,格式为:
?Option=Value&Option=Value&...
或?Option=Value&Option=Value&...
(2) 部署一个War文件
如果War文件在Maven Repository中,可以直接部署至OSGi容器中使用osgi:install命令,并添加一个
参数:war:mvn:URL,例如:
install war:mvn:org.apache.wicket/wicket-examples/1.4.7/war?Web-ContextPath=wicket
如果War文件位于filesystem中,部署至OSGi容器中可以指定war:file:URL参数,例如:
install war:file://wicket-examples-1.4.7.war?Web-ContextPath=wicket
(3) 访问部署的WAR文件
默认端口:8181,
WAR名称:Web-ContextPath参数指定的名称。
备注:默认情况下,通过上述方法产生的WAR文件是一个自包含的、独立的Bundle,既不Import也不
Export Package, 这个模仿的WAR部署至J2EE容器中,所以WAR包含了所有他所需要的第三方JAR.
2. 配置Web Container
FuseESB自动的部署WAR至WEB容器中,可通过etc/org.ops4j.pax.web.cfg.empty.stub设置端口。