J2EE配置指南

J2EE配置指南
 

  1、介绍

  本文介绍J2EE环境的配置,所有涉及的文件都在J2EE安装目录下的oncfig目录,这些文件都是文本文件,你可以有任意的文本编辑器来编辑它们。

  通常情况下,你没有改变这些文件的必要。但是如果你使用的数据库驱动不是cloudscape的时候,你需要遵循本章的内容进行配置。

  2、JDBC驱动

  默认的J2EE安装后支持cloudscape数据库(一个sun公司提供的演示数据库),如果你的ejb使用的jdbc不是连接cloudscape数据库,那么你需要按照下面的知道进行配置。(如果你不能确定本版本的J2EE支持你使用的jdbc驱动,请到 11111 看相关信息。)

  3、驱动的位置


  你必须把驱动文件(.jar文件)copy到 $J2EE_HOME/lib/system目录下。并且保证该文件包含在J2EE_CLASSPATH 的环境变量中。

  4、J2EE_CLASSPATH 环境变量

  J2EE server通过JDBC驱动连接数据库。通通过J2EE_CLASSPATH 的环境变量定位驱动文件(.jar文件)的位置。你可以在启动J2EE前在命令行设置这个变量。但是我们推荐你在脚本中设置J2EE_CLASSPATH 变量。编辑用户配置文件在安装的过程中是必须的一步。在unix中,用户配置文件是 /bin/userconfig.sh,windows nt中是bin/userconfig.bat

  注意:你应该同时在CLASSPATH环境变量中去掉驱动文件(.jar文件)。

  5、JDBC 1.0 驱动

  为了配置jdbc1.0驱动,编辑config/default.properties 文件的jdbc.drivers 和 jdbc.datasources两个属性值。再次要注意的是驱动文件必须包含在J2EE_CLASSPATH环境变量中。

  jdbc.drivers 属性

  jdbc.drivers 属性的值是有一系列的冒号分割的jdbc驱动的类名。格式如下:

  jdbc.drivers=:: . . .

  例如:

   jdbc.drivers=oracle.jdbc.driver.OracleDriver:testutil.MyDriver

   jdbc.datasources 属性值

   jdbc.datasources 属性值由两部分组成,一个是datasource的jndi的名字,一个是数据库的url。典型的情况是:jndi名字是数据库的逻辑名字,rul指定数据库的实际位置。jndi名字和url都是在ejb编码的过程中指定的。rul的格式,请参照jdbc驱动提供商的文档。

   jdbc.datasources 的语法如下:

   jdbc.datasources=|||. . .

   |符号有两个作用。第一,它隔开几个jndi_datasource;第二,它隔开每一个jndi_datasource中的jndi_datasource> 和 元素.

   jndi_datasource元素的语法如下:

    jdbc/

  由jdbc关键字开头,jndi_name是在jndi目录中指定的datasouce名字。

  例如:

   jdbc.datasources=jdbc/Oracle|jdbc:oracle:thin@rtc:1521:acct|jdbc/MyDB|jdbc:test

  6、支持JTA的JDBC2.0驱动

  配置JTA的JDBC2.0的驱动,你需要设置以下属性的值:

  jdbc20.datasources

  xadatasource..jndiname

  xadatasource..classname

  xadatasource..dbuser

  xadatasource..dbpassword

  xadatasource..prop.

  同时你也必须在J2EE_CLASSPATH 环境变量中包括jdbc驱动文件。

  jdbc20.datasources 属性

  jdbc20.datasources 属性的值和jndi名字连接,用于定位datasouce的位置(它就是lookup方法的参数)。

  jdbc20.datasources 的语法如下:

  jdbc20.datasources=||||的作用有两个,第一,隔开jndi_datasource 和并组成一对,第二,隔开每一对的jndi_datasource> 、元素。

  和 jndi_XA_datasource有相同的语法:

  jdbc/

  jdbc关键字开头。jndi_name是datasource名字,这个名字指向jndi目录。

  例如:

  jdbc20.datasources=jdbc/Merant|jdbc/XAMerant|jdbc/Finch|jdbc/XAFinch

  xadatasource属性

  xadatasource..jndiname 属性指定XA DataSource的jndi名字。语法如下:

  xadatasource..jndiname=jdbc/

  n代表每一组xadatasource。第一个jdbc2.0驱动n为0,下一个是1,2等等。jndi_XA_datasource元素和jdbc20.datasources 指定的值对应。The xadatasource..dbuser 和 xadatasource..dbpassword 属性指定数据库用户和密码。通常该用户具有管理员的权限(更多的信息请看 2222 The distributed.transaction.recovery )。

    xadatasource..prop. 指定和特定的属性值关联的值。实际的值可能是jdbc驱动。

  例如:

    xadatasource.0.jndiname=jdbc/XAMerant

    xadatasource.0.classname=com.merant.sequelink.jdbcx.datasource.SequeLinkDataSource

    xadatasource.0.prop.url=jdbc:sequelink://mypc:5000/[Oracle]

  7、事务

  你可以编辑config/default.properties 文件控制事务发生和超时设置。distributed.transaction.recovery 属性这个属性控制分布事物是否发生。这些事物可以发生的话,下面的条件必须满足:

  跨库操作时的事物范围。

  J2EE程序通过jdbc2.0 JTA驱动访问数据库

  当故障发生的时候,事物的各个的组成部分可以按照符合两段提交协议的方式提交或回滚。

  事物发生的时候,server重新启动后事物可以提交或回滚。

  distributed.transaction.recovery的值为true或者false。J2EE安装后默认为false。

  distributed.transaction.recovery=false

  transaction.time属性

  在应用container-managed 事物的ejb中,你可以控制事物超时的间隔通过设置transaction.timeout的值。例如:

   transaction.timeout=5

  在设置以后,如果事物在5秒内没有完成,J2EE事物管理器将回滚它。当J2EE第一次安装的时候,timeout的值时0代表没有超时。

  只有使用container-managed 管理事物的ejb受到timeout的影响。至于在bean-managed和JTA transactions 中你可以引用 UserTransaction 的 setTransactionTimeout方法。同时你也可以在其他组建中引用setTransactionTimeout方法:比如servlets和jsp。

  8、端口

  J2EE需要tcp/ip端口。修改config目录下的相应文件可以修改端口号。下表是端口号和相应的文件。

  EJB 9191 ejb.properties http.port=9191

  HTTP 8000 web.properties port=8000

  HTTPS 7000 web.properties https.port=7000

  Naming and Directory 1050 orb.properties port=1050

  9191 端口用于提供client下载需要的stub类

  8000 提供http服务

  7000 提供https服务

  1050 基于orb的jndi名字服务使用的端口

  9、日志文件

  J2EE server有几个日志文件。默认这些文件在logs目录下。编辑config/default.properties 文件中的 log.directory 属性可以更改默认目录。

  log.directory=logs

  同时你也可以编辑default.properties 文件更改日志文件的名字。例如:你可以修改log.output 属性的值来修改the output.log 文件的名字。

  一般来说,日志文件决定于启动J2EE的模式。(single还是multiple VM (virtual machine) 模式) Single VM 日志文件默认的情况是Single VM 模式。在这种情况下,日志文件位于

   $J2EE_HOME///ejb

  logs是在default.properties 文件中log.directory 属性指定的。host元素是计算机名称。生成下列文件。

  system.out

  system.err

  event.log

  output.log

  error.log


  system.out 和system.err文件包括ejb中 System.out 和 System.err的输出。如果你运行J2EE -verbose数,输出被写到stdout(标准输出) 和stderr(标准错误。输出)。system.out 和 system.err日志文件不建。只有config/auth.properties 文件中audit属性值为true时audit.lo才创建。

  Multiple VM 日志

  如果你用J2EE -mutiVM启动server,ejb和http服务在自己的虚拟机以单独的服务启动。每一个depploy的应用程序也在自己的虚拟机中运行。日志文件和上述的一样,但是存放的目录不同。目录如下:

  EJB $J2EE_HOME//ejb/ejbd

  HTTP $J2EE_HOME//ejb/httpd

  deployed application $J2EE_HOME//ejb/

  web server日志

  编辑web.properties文件中的内容,可以改变由web server创建的日志文件的名字。

  10、安全

  未授权用户

   对于J2EE来说,当有未授权的用户试图调用ejb container的时候,J2EE必须存在一般意义上的未授权用户存在。在J2EE中这个用户名字是guest,密码是guest123。你可以在auth.properties 文件中修改用户名和密码。

  default.principal.name=guest

  default.principal.password=guest123

  Keystore密码

  如果用户使用公钥访问https,认证信息放在/.keystore 文件中。同时user-home是System.getProperty("user.home")的返回值。keystore是一个典型的密码文件。默认的密码是changeit。可以在web.properties 文件中修改keystore.password 属性的值来改变密码。

  ANYONE 角色

  在application deployment工具的security面板中,默认的情况下方法分配给ANYONE 角色。这样的结果 是所有的用户和组都可以调用它。如果你没有影射到一个特定的角色,每一个用户和用户都可以调用它。可以在auth.properties 文件中设置anyone.role.name 的值来改变默认anyone角色。

  钝化发生的条件:内存限制

  当ejb container开始钝化一个ejb的时候,它把ejb保存在附属存储中并且试图重新分配内存。默认的情况下,如果内存使用超过128m的时候钝化开始发生。可以编辑config/default.properties 文件中passivation.threshold.memory 属性的值来修改默认值。

  passivation.threshold.memory=128000000

值必须是一个正的整数。当你减少这个值的时候钝化现象回经常发生。

  jndi name server host

  如果jndi name server和J2EE server不在同一个机器上,你必须改变config/orb.properties 文件中host属性的值。

  host=localhost

  HTTP 文档根

  默认的情况下,http和https服务的文档是public_html。你可以编辑web.properties 文件中documentroot属性的值来改变它。

  documentroot=public_html/

已标记关键词 清除标记
相关推荐
准备工作 8 第1章 总 括 9 一.分布式得多层应用程序 9 二.J2EE容器 11 三.打包J2EE组件 12 四.开发者角色 13 五.本书所用的软件 14 第2章 动手做一个EJB 17 一.准备工作 18 二.创建J2EE应用程序 19 三.创建企业Bean 19 四.创建J2EE应用程序客户端 22 五.创建Web客户端 25 六.设置企业Bean的JNDI名 27 七.部署J2EE应用程序 28 八.运行J2EE应用程序客户端 29 九.运行Web客户端 29 十.修改J2EE应用程序 30 十一。常见问题和解决方法 31 第3章 企业Bean 35 1,企业Bean概述 36 2,会话Bean 36 3,EntityBean 38 4,Message-Driven Bean 40 5.定义客户端访问接口 42 6,企业Bean的“内容” 45 7,企业Bean的命名约定 46 8,企业Bean的生存周期 46 第4章 有状态会话Bean示例 51 1.购物车会话Bean CartEJB 51 二 其他的企业Bean特性 58 第5章 BMP的例子 62 一.SavingsAccountEJB 62 二.用deploytool部署BMP实现的实体Bean 74 三.为BMP映射表间关系 74 四.BMP的主键 85 五.异常处理 88 第6章 CMP的例子 89 一 RosterApp应用概述 90 二 layerEJB代码分析 90 三.RosterApp配置说明 95 四 RosterApp中的方法调用 102 五 运行RosterApp应用程序 109 六 用deploytool工具部署CMP实现的实体Bean 110 七 CMP的主键 110 第7章 一个消息驱动Bean的例子 113 一.例子应用程序介绍 113 二.J2EE应用程序客户端 114 三.消息驱动Bean类 115 四.运行本例子 116 五.用deploytool部署消息驱动Bean 117 六.用deploytool配置JMS客户端 118 第8章 EJB查询语言 120 一.术语 120 二.简单语法 121 三.查询例子 121 四.全部语法 124 五.EJB QL的限制 137 第9章 网络客户端及组件 139 第11章 JSP技术 165 第12章 JSP页面中的JavaBean组件 178 第13章 在JSP页面中自定义标签 182 第14章 事务 202 一.什么是事务 202 二.容器管理事务 203 三.Bean管理事务 208 四.企业Bean事务摘要 211 五.事务超时 211 六.隔离级别 212 七.更新多个数据库 212 八.Web 组件事务 214 第15章 安全 215 一.纵览 215 二.安全角色 216 三.Web层安全 217 四.EJB层安全 219 五.应用程序客户端层安全 220 六.EIS(Enterprise Information System)层安全 221 七.传递安全身份 223 八.J2EE用户、域和组 224 九.安装服务器证书 225 第16章 资源连接 227 一.JNDI名和资源引用 227 二.数据库连接 230 三.邮件服务连接 232 四.URL资源连接 234 第17章 DUKE的银行应用程序 236
首页 作者序 第一部分 介绍 第1章总括 一.分布式得多层应用程序 二.J2EE容器 三.打包J2EE组件 四.开发者角色 五.本书所用的软件 第2章动手做一个EJB 一.准备工作 二.创建J2EE应用程序 三.创建企业Bean 四.创建J2EE应用程序客户端 五.创建Web客户端 六.设置企业Bean的JNDI名 七.部署J2EE应用程序 八.运行J2EE应用程序客户端 九.运行Web客户端 十.修改J2EE应用程序 十一常见问题和解决方法 第二部分 EJB技术 第3章 企业Bean 一、企业Bean概述 二、会话Bean 三、EntityBean 四、Message-Driven Bean 五、定义客户端访问接口 六、企业Bean的“内容” 七、企业Bean的命名约定 八、企业Bean的生存周期 第4章 有状态会话Bean示例 一.购物车会话Bean CartEJB 二.其他的企业Bean特性 第5章 BMP的例子 一.SavingsAccountEJB 二.用deploytool部署BMP实现的实体Bean 三.为BMP映射表间关系 四.BMP的主键 五.异常处理 第6章 CMP的例子 一、RosterApp应用概述 二、layerEJB代码分析 三、RosterApp配置说明 四、RosterApp中的方法调用 五、运行RosterApp应用程序 六、用deploytool工具部署CMP实现的实体Bean 七、CMP的主键 第7章 一个消息驱动Bean的例子 一.例子应用程序介绍 二.J2EE应用程序客户端 三.消息驱动Bean类 四.运行本例子 五.用deploytool部署消息驱动Bean 六.用deploytool配置JMS客户端 第8章 EJB查询语言 一.术语 二.简单语法 三.查询例子 四.全部语法 五.EJB QL的限制 第三部分 Web技术 第9章 网络客户端及组件 第10章 Java Servlet技术 第11章 JSP技术 第12章 JSP页面中的JavaBean组件 第13章 在JSP页面中自定义标签 第14章 事务 一.什么是事务 二.容器管理事务 三.Bean管理事务 四.企业Bean事务摘要 五.事务超时 六.隔离级别 七.更新多个数据库 八.Web 组件事务 第15章 安全 一.纵览 二.安全角色 三.Web层安全 四.EJB层安全 五.应用程序客户端层安全 六.EIS(Enterprise Information System)层安全 七.传递安全身份 八.J2EE用户、域和组 九.安装服务器证书 第16章 资源连接 一.JNDI名和资源引用 二.数据库连接 三.邮件服务连接 四.URL资源连接
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页