- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
java调用AS400中对连接的管理
面讨论建立、启动和结束与 AS/400 的连接,并提供了一些代码示例。要连接到 AS/400 系统,Java 程序必须建立一个 AS400 对象。对于每一种 AS/400 服务器类型,AS400 对象最多包含一个套接字连接。在 AS/400 上,一个服务回应一个作业,它也是 AS/400 上的数据的接口。注意:如果是在建立“企业 Java Bean”,则需要遵从 EJB 规范,即连接期间不允许 AS/400 Toolbox for Java 线程。在 AS/400 上,与每个服务器的每个连接都有其各自的作业。有不同的服务器支持下列各项:
JDBC
程序调用和命令调用
集成文件系统
网络打印
数据队列
记录级存取
注意:如果应用程序不尝试同时执行两个都需要网络打印服务器的任务,则打印类将对每个 AS/400 对象使用一个套接字连接。 如果需要,一个打印类可建立与网络打印服务器的多个附加套接字连接。在 5 分钟之内未使用的额外会话将断开。 Java 程序可控制与 AS/400 的连接数目。为了优化通信性能,Java 程序可为同一个 AS/400 系统建立多个 AS400 对象,如图 1 所示。这建立了与 AS/400 的多个套接字连接。图 1. 为同一个 AS/400 系统建立多个 AS400 对象和套接字连接的 Java 程序
为了节省 AS/400 资源,仅建立一个 AS400 对象,如图 2 所示。此方法减少了连接的数目,从而减少了在 AS/400 系统上使用的资源量。图 2. 为同一个 AS/400 系统建立单个 AS400 对象和套接字连接的 Java 程序
下列示例显示如何建立和使用 AS400 类:示例 1:在下列示例中,将建立两个 CommandCall 对象,它们向同一个 AS/400 系统发送命令。由于 CommandCall 对象使用同一个 AS400 对象,所以只建立了一个与 AS/400 系统的连接。? ?? ?? ?? ?? ?? ?? ?
// Create an AS400 object.? ???AS400 sys = new AS400(mySystem.myC);? ?? ?? ?? ?? ?? ?? ???// Create two command call objects that use? ?? ?? ?? ?? ?? ?? ???// the same AS400 object.? ???CommandCall cmd1 = new CommandCall(sys,myCommand1);? ???CommandCall cmd2 = new CommandCall(sys,myCommand2);? ?? ?? ?? ?? ?? ?? ???// Run the commands. A connection is made when the? ?? ?? ?? ?? ?? ?? ???// first command is run. Since they use the same? ?? ?? ?? ?? ?? ?? ???// AS400 object the second command object will use? ?? ?? ?? ?? ?? ?? ???// the connection established by the first command.? ???cmd1.run();? ???cmd2.run(); 示例 2:在下列示例中,将建立两个 CommandCall 对象,它们向同一个 AS/400 系统发送命令。由于 CommandCall 对象使用不同的 AS400 对象,所以建立两个与 AS/400 系统的连接。? ?? ?? ?? ?? ?? ?? ???
// Create two AS400 objects to the same AS/400 system.? ???AS400 sys1 = new AS400(mySystem.myC);? ???AS400 sys2 = new AS400(mySystem.myC);? ?? ?? ?? ?? ?? ?? ???// Create two command call objects. They use? ?? ?? ?? ?? ?? ?? ???// different AS400 objects.? ???CommandCall cmd1 = new CommandCall(sys1,myCommand1);? ???CommandCall cmd2 = new CommandCall(sys2,myCo
文档评论(0)