j2ee启动问题

hao33 2003-10-17 04:30:14
我输入命令:
j2ee -verbose;
java.lang.RuntimeException:Could not initialize j2ee server.Possible cause coule be another instance of the server already running.
我理解是有一个j2ee服务器已经运行了,但是输入关闭命令:
j2ee -stop:
javax.naming.CommunicationException:Can't find SerialContextProvider.
Unable to shutdown j2ee server.
我到网上查了资料,找不到答案,请问这样的问题应该如何解决?




...全文
43 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hao33 2003-10-17
  • 打赏
  • 举报
回复
这个问题已经解决了,现在配置成功了,但是在访问的时候,只出现了目录,打开是源文件,页面的效果没出来,请问这是怎么回事?
lucipeter 2003-10-17
  • 打赏
  • 举报
回复
[续]

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/<logs>/<host>/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/<logs>/ejb/ejbd
HTTP $J2EE_HOME/<logs>/ejb/httpd
deployed application $J2EE_HOME/<logs>/ejb/<app-name>

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,认证信息放在<user-home>/.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/

lucipeter 2003-10-17
  • 打赏
  • 举报
回复
先看看你的配置是否正确把

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=<classname>:<classname>: . . .
例如:
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>|<url>|<jndi_datasource>|<url>. . .
|符号有两个作用。第一,它隔开几个jndi_datasource;第二,它隔开每一个jndi_datasource中的

jndi_datasource> 和 <url> 元素.
jndi_datasource元素的语法如下:
jdbc/<jndi_name>
由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.<n>.jndiname
xadatasource.<n>.classname
xadatasource.<n>.dbuser
xadatasource.<n>.dbpassword
xadatasource.<n>.prop.<property-name>
同时你也必须在J2EE_CLASSPATH 环境变量中包括jdbc驱动文件。

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


jdbc20.datasources 的语法如下:


jdbc20.datasources=<jndi_datasource>|<jndi_XA_datasource>|<jndi_datasource>|<jndi_XA_datasource>


|的作用有两个,第一,隔开jndi_datasource 和<jndi_XA_datasource>并组成一对,第二,隔开每一对的

jndi_datasource> 、<jndi_XA_datasource>元素。
<jndi_datasource> 和 jndi_XA_datasource有相同的语法:
jdbc/<jndi_name>
jdbc关键字开头。jndi_name是datasource名字,这个名字指向jndi目录。
例如:
jdbc20.datasources=jdbc/Merant|jdbc/XAMerant|jdbc/Finch|jdbc/XAFinch

xadatasource属性
xadatasource.<n>.jndiname 属性指定XA DataSource的jndi名字。语法如下:
xadatasource.<n>.jndiname=jdbc/<jndi_XA_datasource>
n代表每一组xadatasource。第一个jdbc2.0驱动n为0,下一个是1,2等等。jndi_XA_datasource元素和

jdbc20.datasources 指定的值对应。
The xadatasource.<n>.dbuser 和 xadatasource.<n>.dbpassword 属性指定数据库用户和密码。通常该用

户具有管理员的权限(更多的信息请看 2222 The distributed.transaction.recovery )。
xadatasource.<n>.prop.<property_name> 指定和特定的属性值关联的值。实际的值可能是jdbc驱动。
例如:
xadatasource.0.jndiname=jdbc/XAMerant
xadatasource.0.classname=com.merant.sequelink.jdbcx.datasource.SequeLinkDataSource
xadatasource.0.prop.url=jdbc:sequelink://mypc:5000/[Oracle]
目录 序: 1 面向Internet的编程 1 Mary的加盟 2 The J2EE Tutorial 2 目录 3 第一部分 介绍 13 准备工作 13 谁应该使用这指南 13 关于例子 13 理解例子的准备工作 13 例子下载 13 如何编译并运行例子 13 相关信息 14 第1章 总 括 14 一.分布式得多层应用程序 14 J2EE组件 15 J2EE客户端 15 网络浏览器 15 小程序 15 应用客户端 15 JavaBean组件结构 15 网络组件 15 业务逻辑组件 16 二.J2EE容器 16 容器服务 16 三.打包J2EE组件 18 四.开发者角色 18 J2EE产品提供商 18 工具提供商 19 应用程序组件开发者 19 企业Bean开发者 19 Web组件开发者 19 J2EE应用程序客户端开发者 19 应用程序组装者 19 应用程序部署者和系统管理员 19 五.本书所用的软件 20 数据库访问 20 J2EE API 20 简化系统集成 20 工具 20 第2章 动手做一个EJB 22 一.准备工作 23 二.创建J2EE应用程序 24 三.创建企业Bean 24 编写企业Bean代码 24 编写Remote接口 24 编写Home接口 24 编写企业Bean类 25 编译源文件 26 打包企业Bean 26 四.创建J2EE应用程序客户端 27 编写J2EE应用程序客户端代码 27 查找Home接口 27 创建一个企业Bean实例 28 调用商业方法 28 打包J2EE应用程序客户端 29 指定应用程序客户端的企业Bean引用 30 五.创建Web客户端 30 编写Web客户端代码 30 编译Web客户端 32 打包Web客户端 32 指定Web客户端的企业Bean引用 32 六.设置企业Bean的JNDI名 32 七.部署J2EE应用程序 33 八.运行J2EE应用程序客户端 34 九.运行Web客户端 34 十.修改J2EE应用程序 35 修改类文件 35 添加文件 36 修改部署设置 36 十一 常见问题和解决方法 36 无法启动J2EE服务器 36 编译出错 37 部署出错 37 J2EE应用程序客户端运行时错误 38 Web客户端运行时错误 39 用检验工具检查问题 39 比较你的EAR文件和样本EAR文件 39 其它异常 39 第二部分 EJB技术 40 第3章 企业Bean 40 1,企业Bean概述 41 企业Bean的优点 41 何时需要使用企业Bean 41 企业Bean的分类 41 2,会话Bean 42 状态管理模式 42 何时需要会话Bean 42 3,EntityBean 43 EntityBean和会话Bean的不同之处 43 容器管理的持久性(CMP) 44 何时需要EntityBean 45 4,Message-Driven Bean 46 Message-DrivenBean的构造 46 与会话Bean、EntityBean的不同之处 46 何时需要Message-DrivenBean 47 5.定义客户端访问接口 47 远程访问 47 本地接口 48 Local接口和CMR(Container-Managed RelationShips) 49 两种访问方式的抉择 49 性能和访问方式 50 方法参数和访问方式 50 数据访问粒度 50 6,企业Bean的“内容” 51 7,企业Bean的命名约定 51 8,企业Bean的生存周期 52 有状态会话Bean的生命周期: 52 无状态会话Bean的生命周期 54 EntityBean的生命周期 54 Message-DrivenBean的生命周期 56 第4章 有状态会话Bean示例 57 1.购物车会话Bean CartEJB 57 会话Bean类 58 SessionBean接口 60 Home接口 62 Remote接口 63 辅助类 63 运行本例 63 二 其他的企业Bean特性 64 访问环境变量 65 企业Bean的比较 66 访问企业Bean的远程对象引用 67 第5章 BMP的例子 68 一.SavingsAccountEJB 68 实体Bean类(SavingsAccountBean) 69 EntityBean接口 69 ejbCreate方法 70 EjbPostCreate方法 71 ejbRemove方法 72 ejbLoad和ejbStore方法 72 查找方法(Finder) 73 商业方法 74 Home方法 76 数据库访问 77 Home接口 77 定义create方法 78 定义查找方法 78 定义Home方法 79 运行本例子 80 二.用deploytool部署BMP实现的实体Bean 80 三.为BMP映射表间关系 81 一对一关系 81 运行StorageBinApp应用程序 83 一对多关系 84 将子表实现为辅助类 84 运行OrderEJB应用程序 87 将子表实现为实体Bean 87 运行SalesRepEJB的例子 90 多对多关系 90 运行EnrollerEJB的例子 91 四.BMP的主键 92 主键类 92 实体Bean类中的主键 93 获取主键 94 五.异常处理 94 第6章 CMP的例子 96 一 RosterApp应用概述 97 二 layerEJB代码分析 97 实体Bean类 98 CMP和BMP实现实体Bean的代码比较 98 访问(get和set)方法 98 持久性字段的访问方法 99 关系字段的访问方法 99 select方法 99 商业方法 100 实体Bean方法 100 Local Home接口 101 Local接口 102 三.RosterApp配置说明 102 RosterApp应用程序配置 103 RosterClient客户端配置 104 RosterJAR的设置 104 TeamJAR配置 104 PlayerEJB 107 四 RosterApp中的方法调用 110 “新建”一个运动员 110 将运动员加入组 111 “删除”一个运动员 112 从组中开除运动员 112 获得一个组里的所有运动员 113 获取组成员的副本 114 根据位置查询运动员 116 查询运动员的运动项目 116 五 运行RosterApp应用程序 118 启动用到的软件 118 部署该应用程序 118 运行客户端 118 六 用deploytool工具部署CMP实现的实体Bean 118 指定企业Bean类型 118 选择持久性字段和抽象模式名 119 为查找方法和Select方法定义EJB QL查询 119 七 CMP的主键 119 主键类 119 实体Bean类中的主键 120 产生主键值 121 第7章 一个消息驱动Bean的例子 122 一.例子应用程序介绍 122 二.J2EE应用程序客户端 123 三.消息驱动Bean类 124 OnMessage方法 124 ejbCreate和ejbRemove方法 125 四.运行本例子 125 启动J2EE服务器 125 创建消息队列 125 部署该程序 125 运行客户端 125 五.用deploytool部署消息驱动Bean 126 指定Bean类型和事务管理机制 126 设置消息驱动Bean的特有属性 126 六.用deploytool配置JMS客户端 127 配置资源引用 127 配置资源环境引用 128 设置JNDI名 128 第8章 EJB查询语言 129 一.术语 129 二.简单语法 130 三.查询例子 130 简单查找方法的查询 130 跨越实体Bean关系查找方法的查询(关联查询) 131 其它条件查找方法的查询 132 Select方法的查询 133 四.全部语法 133 EJB QL语法的BNF定义 134 FROM子句 137 路径表达式 139 WHERE子句 141 BETWEEN表达式 143 IN表达式 143 LIKE表达式 143 SELECT子句 146 五.EJB QL的限制 147 第三部分 Web技术 148 第9章 网络客户端及组件 148 网络客户端的生命周期 148 网络应用结构 149 创建WAR文件 150 将WAR文件加入到EAR文件中 150 增加一个Web组件到WAR文件中 150 配置Web客户 151 应用级配置 151 WAR级的配置 151 组件及配置 151 部署网络客户 152 运行网络客户 152 更新网络客户 152 国际化网络客户 152 第10章 Java Servlet技术 153 什么是Servlet? 153 有关Servlets的例子 153 处理错误 155 处理servlet生命周期事件 156 指定事件监听类 157 处理错误 157 共享信息 157 使用域对象 157 控制共享资源的并发入口 158 访问数据库 159 初始化Servlet 160 编写Service方法 160 通过request取得信息 161 构造Responses 162 过滤请求及响应 163 编写Filter 163 编写自定义的请求与响应 165 指定filter映射 166 调用其它网络资源 167 响应中包含其它资源 167 转移控制到其它网络组件 168 访问Web Context 168 维持客户端状态 169 访问一个会话 169 将属性与会话绑定 169 与会话相关联的通知对象 170 会话管理 170 会话跟踪 170 结束servlet 171 跟踪服务请求 171 通知方法Shut Down 172 创建长时间运行的方法 173 第11章 JSP技术 175 什么是JSP页面 175 JSP页面的例子 176 JSP页面的生命周期 179 转换与编译 179 异常 179 初始化及结束一个JSP页面 180 生成静态内容 181 生成动态内容 181 在JSP中使用对象 181 隐式对象 181 特定应用程序对象 181 共享对象 182 JSP scripting 元素 182 声明 182 脚本(scriptlets) 183 表达式 184 在JSP页面中包含内容 185 转换控制到另一网络组件 185 参数元素 185 包含Java小程序(applet) 185 扩展JSP语言 187 第12章 JSP页面中的JavaBean组件 189 JavaBean组件设计约定 189 为什么要使用JavaBean组件 190 创建并使用JavaBean组件 190 设置JavaBean组件属性 190 返回JavaBean组件属性 191 第13章 在JSP页面中自定义标签 193 什么是自定义标签? 193 JSP页面的例子 193 使用标签 196 声明标签 196 标签种类 196 简单标签 196 带有属性的标签 196 带体的标签 197 在传递信息时选择属性还是体 197 定义脚本变量的标签 197 标签的相互协作 197 定义标签 198 标签处理器 198 标签库描述符 198 简单标签 200 标签属性 200 标签体 202 定义脚本变量的标签 203 与标签协作 205 例子 207 迭代标签 207 标签处理器 208 模板标签库 208 JSP页面 208 标签处理器是如何被调用的? 211 第14章 事务 213 一.什么是事务 213 二.容器管理事务 214 事务的属性 214 容器管理事务的回滚 217 同步会话Bean的实例变量 218 容器管理事务中不允许使用的方法 219 三.Bean管理事务 219 JDBC 事务 220 JTA 事务 221 非提交返回事务 222 在Bean管理事务中不允许使用的方法 222 四.企业Bean事务摘要 222 五.事务超时 222 六.隔离级别 223 七.更新多个数据库 223 八.Web 组件事务 225 第15章 安全 226 一.纵览 226 二.安全角色 227 声明和连接角色引用 227 映射角色到J2EE用户和组 228 三.Web层安全 228 保护Web资源 228 控制Web资源访问 229 Web资源访问的用户验证 229 使用编程安全机制 230 不受保护的Web资源 230 四.EJB层安全 230 声明方法许可 230 使用编程安全机制 231 不受保护的EJB层资源 231 五.应用程序客户端层安全 231 确定应用程序客户端的回调处理机制 232 六.EIS(Enterprise Information System)层安全 232 配置契约 232 容器管理的契约 232 组件管理的契约 233 配置资源适配器安全 233 七.传递安全身份 234 配置组件使用的传递安全身份 234 配置客户端验证机制 235 容器间的信任机制 235 八.J2EE用户、域和组 235 管理J2EE用户和组 236 九.安装服务器证书 236 第16章 资源连接 238 一.JNDI名和资源引用 238 在deploytool中配置资源引用 239 二.数据库连接 241 获得连接 241 用deploytool指定数据库用户名和密码 242 连接池 243 三.邮件服务连接 243 运行ConfirmerEJB例子 244 四.URL资源连接 245 运行HTMLReaderEJB例子 246 第17章 DUKE的银行应用程序 247 EJB 248 会话BEAN 248 实体BEAN 250 帮助类 251 数据库表 251 保护EJB 252 应用程序客户端 253 账号管理 254 类和他们之间的关系 254 Web客户端的生命循环 261 国际化 265 编译,打包,部署,运行应用程序: 266 启动j2ee 服务器,部署工具和数据库 268 给企业归档(archive)文件打包 269 打开企业归档文件 269

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧