ServiceMix中部署:JAR和WAR

本文介绍如何在OSGi环境中部署JAR和WAR文件,包括使用wrap方案将非OSGi JAR转换为标准OSGi Bundle的方法,以及利用war方案部署自包含WAR文件到OSGi容器的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部署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&amp;Option=Value&amp;...

    (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设置端口。

collections-3.2.2.jar:/app/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/ordosjfappCell01/appgate_war.ear/appgate.war Parent: com.ibm.ws.classloader.CompoundClassLoader@1f4260c1[PF][app:appgate_war] Delegation Mode: PARENT_FIRST). [25-5-29 17:05:38:671 CST] 000000bc SystemErr R at org.apache.cxf.common.xmlschema.SchemaCollection.read(SchemaCollection.java:133) [25-5-29 17:05:38:671 CST] 000000bc SystemErr R at org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:192) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:95) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:349) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:444) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:507) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:241) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:153) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:151) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at com.uxunchina.appgate.socket.client.WebServiceClient_UXUNJFYSmgService.createIjfyFrontService(WebServiceClient_UXUNJFYSmgService.java:37) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at com.uxunchina.appgate.socket.client.WebServiceClientUtils.qurshortmsg(WebServiceClientUtils.java:315) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at com.uxunchina.appgate.utils.UxunScanMsg$UxunXFSmg.run(UxunScanMsg.java:53) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at java.util.TimerThread.mainLoop(Timer.java:566) [25-5-29 17:05:38:672 CST] 000000bc SystemErr R at java.util.TimerThread.run(Timer.java:516) [25-5-30 15:05:34:755 CST] 000000ba SystemErr R java.net.SocketException: Socket closed [25-5-30 15:05:34:755 CST] 000000ba SystemErr R at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:450) [25-5-30 15:05:34:755 CST] 000000ba SystemErr R at java.net.ServerSocket.implAccept(ServerSocket.java:623) [25-5-30 15:05:34:755 CST] 000000ba SystemErr R at java.net.ServerSocket.accept(ServerSocket.java:582) [25-5-30 15:05:34:755 CST] 000000ba SystemErr R at com.uxunchina.appgate.socket.UxunSocketServerInit.run(UxunSocketServerInit.java:41) [25-5-30 15:05:34:755 CST] 000000ba SystemErr R at java.lang.Thread.run(Thread.java:785) [25-5-30 15:07:58:551 CST] 000000b8 SystemErr R java.net.BindException: Address already in use [25-5-30 15:07:58:551 CST] 000000b8 SystemErr R at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:417) [25-5-30 15:07:58:551 CST] 000000b8 SystemErr R at java.net.ServerSocket.bind(ServerSocket.java:444) [25-5-30 15:07:58:551 CST] 000000b8 SystemErr R at java.net.ServerSocket.<init>(ServerSocket.java:258) [25-5-30 15:07:58:551 CST] 000000b8 SystemErr R at java.net.ServerSocket.<init>(ServerSocket.java:149) [25-5-30 15:07:58:551 CST] 000000b8 SystemErr R at com.uxunchina.appgate.socket.ESB2JFYSocketServerInit.run(ESB2JFYSocketServerInit.java:35) [25-5-30 15:07:58:551 CST] 000000b8 SystemErr R at java.lang.Thread.run(Thread.java:785) [25-5-30 15:08:04:822 CST] 0000006d SystemErr R log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.DailyRollingFileAppender. [25-5-30 15:08:05:173 CST] 0000006d SystemErr R log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.DailyRollingFileAppender. [25-5-30 15:08:11:060 CST] 0000006b SystemErr R log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.DailyRollingFileAppender. [25-5-30 15:08:11:061 CST] 0000006b SystemErr R log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.DailyRollingFileAppender. [25-5-30 15:09:00:860 CST] 000000b9 SystemErr R Exception in thread "Timer-8" java.lang.NoSuchMethodError: org/apache/ws/commons/schema/XmlSchemaCollection.read(Lorg/w3c/dom/Document;Ljava/lang/String;)Lorg/apache/ws/commons/schema/XmlSchema; (loaded from file:/app/IBM/WebSphere/AppServer/plugins/org.apache.axis2.jar by org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@853b4477[org.apache.axis2:7.0.0(id=298)]) called from class org.apache.cxf.common.xmlschema.SchemaCollection (loaded from file:/app/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/ordosjfappCell01/appgate_war.ear/appgate.war/WEB-INF/lib/cxf-common-utilities-2.4.10.jar by com.ibm.ws.classloader.CompoundClassLoader@ef9e9231[war:appgate_war/appgate.war] Local ClassPath: /app/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/ordosjfappCell01/appgate_war.ear/appgate.war/WEB-INF/classes:/app/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/ordosjfappCell01/appgate_war.ear/appgate.war/WEB-
最新发布
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值