我们有这个在 Oracle 表单上运行的胖客户端应用程序,使用Oracle 应用服务器版本 10.1.2.0.2客户端使用Oracle JInitiator:版本 1.3.1.22 在一些机器上,我们发现 jinitiator 控制台转储了数千行类似于以下内容的内容:
@@@@@@@@ ValorLabel: Logon
@@@@@@@@ ToolTipAdded: 1: Position 1
@@@@@@@@ ToolTipAdded: 2: Position 2
@@@@@@@@ ToolTipAdded: 3: Position 3
######## ValorButton4: Connect pos: 4
@@@@@@@@ ValorLabel: Logon
@@@@@@@@ ToolTipAdded: 1: Position 1
@@@@@@@@ ToolTipAdded: 2: Position 2
@@@@@@@@ ToolTipAdded: 3: Position 3
等等,我在整个网络、应用程序供应商、Oracle 元链接和微软知识库中进行搜索,但毫无收获。
这种重复消息的问题在于,它与高堆内存消耗和应用程序性能缓慢有关,最终导致崩溃或挂起。
我希望有人能帮助我们识别此类转储消息的来源
系统规格:
- 客户端电脑是 Windows XP Service Pack 3
- 浏览器使用 IE 6 和 IE 7
- jInitator 版本 1.3.1.22
- 服务器应用服务器是 AIX 5.3,在 Oracle 应用服务器 (ias) 版本 10.1.2.0.2 上运行 Oracle Forms,连接到不同机器上的数据库服务器
我们计划很快迁移到 Sun Java Plug-in,但在完成变更管理和测试之前,我们需要找到这个问题背后的原因
更新 我的笔记本电脑没有出现此问题,因为它装有相同的 jinitiator 版本。我能看到的唯一区别是由于我在这台机器上安装了 eclipse,所以有不同的 JRE 和 JDK 可用。
但是,在两种情况下(我的笔记本电脑和受影响的 PC),jinitator 使用的 JRE 完全相同。
Oracle JInitiator: Version 1.3.1.22
Using JRE version 1.3.1.22-internal Java HotSpot(TM) Client VM
我在控制台上转储了系统属性,除了用户名和一些额外的路径外,两个终端(好的和坏的)的结果几乎相同。
非常感谢你的帮助
答案1
找到了!!!
原因原来是安装的 JInitiator 与后来在同一台机器上安装的另一个应用程序之间存在冲突。我们集中推送的 Lotus Expeditor 似乎与 JInitiator 发生冲突,导致这种无休止的注释循环被转储到 Java 控制台中。这种情况现在变得很严重,因为 JInitator 使用 Java 虚拟机来运行,而 Lotus Expeditor 基于 eclipse 技术,而 eclipse 技术又基于 Java。我们设法在之前没有问题的干净机器上重现了同样的问题。
使 JInitiator 正常工作(不管对 Expeditor 有何影响)的解决方案如下:
- 卸载 JInitiator
- 删除 JInitiator 目录(通常为 C:\Program Files\Oracle\JInitiator 1.3.xx)
- 删除注册表中所有与 JInitiator 相关的条目(使用 regedit)
- 删除 JAR 文件缓存
- 删除用户目录下名为 .jinit 的文件
- 重启机器
- 访问调用 JInitiator 的站点,这将自动在您的机器上加载 JInitiator
- 当被询问时,将 JInitiator 安装在不同的目录中
问题应该会消失
请注意,为了管理步骤 1 至 8 的实施,我们需要在 Windows 上登录的同一用户的本地管理员权限
需要解答的谜题是:
- 是什么导致了 Expeditor 和 JInitiator 之间的冲突?
- 重新安装 JInitiator 是否会与新的 Lotus Expeditor 冲突?