繁体   English   中英

在Eclipse RCP应用程序中动态加载Web服务包

[英]Dynamically load Webservice bundle in Eclipse RCP application

我要做的是:我有一个通过Web服务(SOAP)进行通信的服务器和客户端应用程序。

客户端是一个Eclipse RCP应用程序,它使用来自Apache CXF的DOSIG捆绑软件。 如本教程所述,我已经使用了声明式服务和BundleActivator: http : //cxf.apache.org/dosgi-ds-demo-page.html

通过为Apache CXF捆绑软件添加自动启动条目,使客户端与服务器连接。 问题在于,这会大大降低启动速度,因为Apache CXF需要一些时间来设置服务和所有内容。 只有在完全启动Apache CXF捆绑软件后,我的UI才会显示。

我想在Apache CXF捆绑包启动完成之前显示UI。 我将不需要立即使用Web服务,并且无论如何都必须处理丢失的Web服务。 因此,我希望我的UI出现,然后在Web服务可用时激活功能。

所以我的问题是:

  1. 这种方法有意义吗?
  2. 我该如何实施? 我想我必须从正在运行的应用程序中启动cxf软件包吗?

您可以使用以下方式启动插件(捆绑包):

final Bundle bundle = Platform.getBundle(id);
if (bundle != null)
 {
   if ((bundle.getState() & Bundle.ACTIVE) == 0)
    {
      try
       {
         bundle.start(Bundle.START_TRANSIENT);
       }
      catch (final BundleException ex)
       {
         // Handle error
       }
    }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM