热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

iSereis上使用用于Linux的EJB持久性

文章标题:iSereis上使用用于Linux的EJB持久性。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  当您在使用基于组件的企业 Java beans(EJB)体系结构编写一个应用程序时,这个应用程序是可扩展的、可处理事务的而且是多用户安全的。您只需一次编写应用程序,然后就可以将它部署到任何一个支持企业 Java beans 规范的服务器平台上。
  
  Java 2 企业版应用程序使用 EJB 实现服务器端事务组件,EJB 包括会话 beans 和实体 beans。会话 beans 描述的是事务服务,不在用户间共享。实体 beans 是描述持久数据的多用户、分布式事务处理对象。
  
  开始之前
  遵循“在 iSeries 上安装 Linux”或“在 pSeries 上安装 Linux”中的步骤在 iSeries 上的一个逻辑分区上安装 SuSE Linux Enterprise Server (SLES) 8。
  
  遵循“Installing DB2 for Linux on iSeries and pSeries”中的步骤在 iSeries 上安装并启动用于 Linux 的 DB2。您可以自 Windows 中使用虚拟网络处理(Virtual Network Computing,VNC)客户机 vncviewer 访问 iSeries 上的 Linux。请参阅那篇文章中的说明来使用 vncviewer。
  
  遵循“在 iSeries 和 pSeries 上安装用于 WebSphere Application Server V5.0 for Linux”中的步骤安装 WebSphere Application Server V5.0.2。启动 server1,如下:
  
图 1. 启动 server1

  
 

  用您的浏览器访问 http://SLES8WAS:9090/admn(用您的 iSeries 系统的名字代替这个例子中的 SLES8WAS)来启动 WebSphere 管理控制台。
  
图 2. 启动管理控制台

  
 

  
图 3. WebSphere 管理控制台

  
 

  创建一个 JDBC 提供者
  安装的应用程序使用 JDBC(Java Database Connectivity)提供者来访问数据库中的数据。下载 jt400.jar 文件 并将其放入一个名为 /opt/jtopen 的目录中。JTOpen 是用于 Java 的 IBM 工具箱的一个开放源代码版本,它的更新频率比得到许可的程序版本更高。
  
  在管理控制台中创建一个 JDBC 提供者:
  在管理控制台拓扑树中,展开 Resources 然后单击 JDBC Providers。
  在 JDBC Providers 页,指定 Server 作为资源的范围。单击 Apply。
  单击 New。
  在 JDBC Providers 域,选择 DB2 UDB for iSeries (Toolbox) driver。
  单击 Apply。
  在 classpath 域,将 ${OS400_TOOLBOX_JDBC_DRIVER_PATH}/jt400.jar
  改为
  /opt/jtopen/jt400.jar。
  单击 Apply 或 OK。
  单击工具栏上的 Save,保存配置。
  再次单击 Save,用您的改变去更新主仓库(master repository)。
  
图 4. 创建一个 JDBC 提供者

  
 

  
图 5. 创建一个 JDBC 提供者(续)

  
 

  创建一个 J2C 认证数据条目
  Java 2 连接器(J2C)认证数据条目定义了您可以在源适配器和 JDBC 之间共享的认证数据。
  
  为创建一个 J2C 认证数据条目,需要做:
  在管理控制台拓扑树中,展开 Security 然后单击 J2C Authentication Data。
  单击 New。
  在 Alias 域中指定 johndoe/linuxauth。
  在 User Id 域中指定您的 iSeries userid。
  在 Password 域中指定您的 iSeries 口令。
  单击 OK 或 Apply。(没有对 user ID 和口令进行确认)
  单击工具栏上的 Save,保存修改。
  再次单击 Save,用您的改变去更新主仓库。
  
图 6. 创建一个 J2C 认证数据条目

  
 

  配置一个数据源
  创建了一个 JDBC 提供者后,就需要为这个提供者配置一个数据源,以使您的应用可以访问数据库中的数据。JDBC 提供者指定 JDBC 驱动程序实现类。为配置一个数据源,需要做:
  
  在管理控制台的 JDBC Providers 页上,单击您想为其配置数据源的 DB2 UDB for iSeries (toolbox) JDBC 提供者。
  在下一页,单击 Data Sources。
  在 Data Sources 页,单击 New。
  在 Name 域中指定 Default Datasource。
  在 JNDI Name 域中指定 DefaultDatasource。
  注意:HitCount EJB 示例用 Default Datasource 作为 Data Source Name,用 DefaultDatasource 作为 JNDI Name。
  
  单击 Container managed persistence 以在容器管理持久性(container managed persistence,CMP)中使用这个数据源。
  在 Component-managed Authentication Alias 下的列表中选择 johndoe/linuxauth。
  在 Component-managed Authentication Alias 下的列表中选择 johndoe/linuxauth。
  单击 Apply。
  单击 Custom properties。
  单击 serverName。
  在 Value 域中,指定您的 iSeries 机器名。
  单击 Apply。
  单击 libraries。
  在 Value 域中,指定 HITCOUNTDB。
  单击 Apply。
  单击工具栏上的 Save,保存配置。
  再次单击 Save,用您的改变更新主仓库。
  
图 7. 配置一个数据源

  
 

  
图 8. 配置一个数据源(续)

  
 

  测试数据源参数
  在定义并保存了 Default Datasource 后,您可以使用 Test Connection 函数来确保数据源定义中的参数是正确的。
  
  在管理控制台拓扑树中,展开 Resources 并单击 JDBC Providers。选择 DB2 UDB for iSeries (Toolbox) 和 Default Datasource 然后单击 Test connection。如果您的配置是正确的,将在消息区域显示出如下的成功消息:
  
图 9. 成功的连接

  
 

  运行 HitCount 示例应用程序
  HitCount 示例应用程序计算一个页面被访问了多少次。这个应用程序包括一个 Java Servlet、一个 JavaServer Pages(JSP)文件和一个企业 bean。
  
  HitCount 示例应用程序被安装为 WebSphere Application Server 例子的一部分,已经在 WebSphere Application Server 的默认实例中运行。它通常用来确认您的应用程序服务器是否已经正确设置。这个附带的示例当前通过 Deafault Datasource 使用 Cloudscape 数据库。在 配置一个数据源 步骤中,我们在 DB2 UDB for iSeries (Toolbox) JDBC Providers 下创建了 Default Datasource。
  
  创建 HitCount 需要的数据库表
  您必须创建 HitCount 示例应用程序所需要的底层数据库表。当使用应用程序装配工具将 bean 打包到 EJB 模块中时,已经为每个实体企业 bean 创建了一个数据定义语言(Data Definition Language,DDL)脚本。这个 DDL 脚本称为 Table.ddl,当它打包到 EJB 模块中后存储在企业 bean 的 JAR 文件中。这个 DDL 脚本中包含了为实体 bean 创建底层数据库表所需要的命令。Table.ddl 如下:
  
  Table.ddl
  
  CREATE COLLECTION HITCOUNTDB;
  CREATE TABLE HITCOUNTDB/INCREMENT
  (PRIMARYKEY VARCHAR(250) NOT NULL, THEVALUE INTEGER NOT NULL);
  
  运行 Table.ddl 脚本:
  启动 iSeries Navigator(导航器)。
  展开您要创建数据库文件的系统的 iSeries 图标。
  展开 Database,然后在系统数据库上右击。
  选择 Run SQL Scripts...。
  选择 File > Open。
  将类型视图的 Files 改变为 All Files ("*.*")。
  导航到 Table.ddl 文件。
  选择 Run > All 来运行脚本中的所有命令。
  选择 View -> Job Log...,确认数据库表已经成功创建。
  选择 File > Save,保存文件。
  退出 Run SQL Scripts 应用程序。
  退出 iSereis Navigator。
  对 HitCount 示例应用程序和数据库表来说,最简单的就是将数据库表授权给所有用户。在 iSeries 服务器命令行中运行下面的命令,为所有用户将权限改变为 *ALL:
  
  OBJ(HITCOUNTDB) OBJTYPE(*LIB) USER(*PUBLIC) AUT(*ALL)
  GRTOBJAUT OBJ(HITCOUNTDB/*ALL) OBJTYPE(*ALL) USER(*PUBLIC) AUT(*ALL)
  运行 HitCount 示例
  在您的浏览器中访问 http://SLES8WAS:9080/HitCount.jsp(用您的 iSeries 系统的名字代替
  
  这个例子中的 SLES8WAS),如下:
  
图 10. 运行 HitCount 示例 - EJB(CMP)

  
 

  在 Select a method of execution 下选择 Enterprise Java Bean (CMP),然后单击 Increment,
  
  然后您将看到下面的结果:
  
图 11. 运行 HitCount 示例 - EJB(CMP),续

  

  
推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
author-avatar
都百美丽人生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有