快速业务通道

通过URL打开Eclipse Rich Client Platform应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
件的完整路径替换 C:\Windows\Notepad.exe。

清单 1. 把 URL 协议注册到 Windows 注册表的批处理文件代码

  reg add HKCR\rcp /ve /d "URL:RCP Protocol"   reg add HKCR\rcp /v "URL Protocol"   reg add HKCR\rcp\Shell\Open\Command /ve /d "C:\Windows\Notepad.exe %%1" 

注册过该 URL 协议后,您可以通过在浏览器的地址栏中键入 rcp:// 并单击 Go 进行测试。记事本(或者选择注册的文件)现在应当已打开。

其他操作系统(例如 Linux®)把注册 URL 协议的工作委托给浏览器。

批处理文件

当您测试过我们定义的 rcp:// 协议可以按预期打开记事本后,请尝试把 rcp:// 协议重新映射到启动 TCP 客户机的批处理文件。为此,需要更改 HKCR\rcp\Shell\Open\Command 注册表条目的值。参见清单 2 以查看批处理文件如何启动 TCP 客户机的示例。

清单 2. 启动 TCP 客户机的批处理文件代码

@echo off set JAVA_BIN=c:\<insert your java directory here> cd <root location of your URIClient application''s package.> %JAVA_BIN%\java.exe com.company.uri.URIClient %1 EXIT

表 1. 清单 2 的注释

行号 注释
2 例如,set JAVA_BIN=C:\Program Files\IBM\Java50\jre\bin
3 例如,包含 TCP 客户机的 parent 包的目录
4 下面将介绍 URIClient

通过URL打开Eclipse Rich Client Platform应用程序(3)

时间:2011-02-17 IBM Brian Fleming

TCP 客户机/服务器对

如概述中所述,用户单击 rcp:// 超级链接的操作最终将触发调用 RCP 应用程序内嵌的 TCP 服务器的 TCP 请求。此解决方案包括一些网络编程,但幸运的是,Java API 将为我们处理 TCP 通信的细节。

在我们的示例中,TCP 服务器将在 RCP 插件的启动代码中被启动并且等待来自 TCP 客户机的调用。呼叫将在客户机和服务器已知的端口号上从客户机发送到其本地主机所在的服务器上。客户机将通过 Java 套接字把 URL 请求的详细信息传递给服务器。TCP 服务器随后负责执行相应的 RCP 操作以打开业务对象。这些操作专用于特定应用程序,但是我们将在 “处理业务对象” 中处理此问题。

对于我们的演示,将使用 com.company.uri 包中的四个 Java 类。

URIClient.java 由 URL 选择触发的独立 TCP 客户机URIServer.java 和 URIServerThread.java 包含嵌入到 RCP 应用程序中的 TCP 服务器URIConstants.java 客户机和服务器之间共享的一些常量

这些 Java 文件可以下载获得。

TCP 服务器 — URIServer 和

URIServerThread URIServer

负责侦听请求。在侦听到请求时,它将生成处理与 TCP 客户机之间的连接的 URIServerThread 线程。

URIServer 可以在插件的初始化类中启动。每个 RCP 插件都有一个可以扩展 org.eclipse.ui.plugin.AbstractUIPlugin 的相关的启动类。该类的 start 方法可以初始化 URIServer。

RCP 应用程序将生成 URIServer,方法是调用新的 URIServer().start(),在它自己的线程中启动服务器并防止 RCP 应用程序由于等待 TCP 请求而被阻塞。

URIServerThread 将处理打开业务应用程序的逻辑。该过程将在 “处理业务对象” 中详细讨论。

注意,URIServer 和 URIServerThread 都扩展 java.lang.Thread。

清单 3. 样例插件启动方法

/**  * This method is called upon plug-in activation, starts up URIServer  */   public void start(BundleCon

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号