快速业务通道

将Java Swing应用程序连接到Geronimo服务器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

将Java Swing应用程序连接到Geronimo服务器

时间:2011-09-07 ibm Neal Sanche

创建可以与 Geronimo EJB 应用程序对话的独立客户端

简介

本文将展示如何开发可以与运行在 Geronimo 应用服务器内部的 EJB 应用程 序通信的独立(胖)客户端。基于我的前两篇文章 ——“将数据库连接到 Geronimo 应用服务器的三种方法”(developerWorks,2005 年 6 月)和“利 用 Geronimo 深入 EJB Web 应用程序”(developerWorks,2005 年 7 月)— — 本文向您展示一个连接到使用 Geronimo EJB 应用程序构建的小型电话簿数 据库的 Swing 客户端。您将阅读简要的设计说明,然后阅读有关运行该应用程 序所需的客户端库的信息。接下来我将介绍联系服务器并对服务器上远程无状态 会话 bean 执行操作的方法。最后,您将学习如何开发、编译并运行客户端应用 程序,以及如何配置服务器以允许来自网络中特定客户端的安全访问。

设计概述

首先简要介绍一下示例应用程序设计 —— 一个描述电话簿客户端应用程序 的统一建模语言 (Unified Modeling Language, UML) 部署图 —— 如 图 1 所 示。客户端应用程序通过其 EJB 端口连接到 Geronimo,并与 PhoneBook Session EJB 对话以通过 PhoneBook Entry Container-Managed Persistence (CMP) 操作数据库中的数据。

图 1. 电话簿客户端部署图

将Java Swing应用程序连接到Geronimo服务器 - 编程入门网

Geronimo 的默认发行版对 EJB 端口有限制。仅当客户端应用程序运行在同 一机器上并且通过环回地址(localhost 或 127.0.0.1) 连接时才能连接到该 端口。本文稍后的 配置 Geronimo 的 EJB 端口 一节提供了有关如何让其他机 器上的客户端访问服务器的详细信息。

用于连接到 Geronimo 的客户端库

要让客户端应用程序能够连接到 Geronimo 的 EJB 端口并与 EJB 层通信, 客户端类路径中必须要有下列 Java 库:

geronimo-spec-j2ee-1.4-rc4.jar

geronimo-kernel-1.0-SNAPSHOT.jar

geronimo-j2ee-1.0-SNAPSHOT.jar

geronimo-security-1.0-SNAPSHOT.jar

cglib-nodep-2.1.jar

openejb-core-2.0-SNAPSHOT.jar

将Java Swing应用程序连接到Geronimo服务器(2)

时间:2011-09-07 ibm Neal Sanche

从源代码编译 Geronimo 时,当您使用 Maven 构建脚本来编译电话簿客户端 应用程序时,这些库被放置到本地 Maven 资源库中且可供访问。您可以在 project.xml 文件的依赖关系部分中查看所有这些库位于 Maven 资源库的哪个 位置。

其中一些库在客户端与服务器的通信中起着非常重要的作用。Geronimo 使用 CGLib 库来执行动态代理生成。这使得服务器动态生成远程调用服务器端组件的 代码。如果在调试器中检查客户端上 InitialContext 对象的 lookup() 方法返 回的一个对象,可以看到动态生成的对象的类名包括 CGLib。geronimo-spec- j2ee.jar 文件包含所有的 Sun Java 2 Platform, Enterprise Edition (J2EE) 接口和类。没有该文件,客户端将无法理解任何动态代理实例。openejb- core.jar 文件是与服务器的 EJB 端口进行对话所必需的。用于在 Geronimo 服 务器中执行远程目录查询的 Java Naming and Directory Interface (JNDI) 类 就在该 .jar 文件中。最后的三个 .jar 文件提供了其他支持类,比如与 Geronimo 对话的安全主体。

执行远程会话本地查询

客户端通信部分的实现十分简单。将客户端连接到服务器时,Geronimo 与其 他任何 J2EE 服务器没有任何不同,遵守健全的通过 JNDI 查询和远程方法调用 (RMI) 进行的通信标准。JNDI 查询是获得对远程对象的引用的标准访问。要通 过 JNDI 进行连接,必须使用大量特定于 Geronimo 的属性来创建 InitialContext 实例,该实例用于执行查询。 清单 1 展示

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号