zl程序教程

您现在的位置是:首页 >  其他

当前栏目

zooKeeper在weblogic下的bug

BUGzookeeper weblogic
2023-09-14 09:03:12 时间

因为项目中需要使用分布式配置管理,所以使用了ZooKeeper,ZooKeeper的客户端使用的是zookeeper-3.4.5.jar原来使用的2.3.3版本,后来升级到了2.4.5升级版本,在本地调试总是正确的,但是放置到weblogic下就不行了,发现在weblogic10下竟然无法使用一直报错:

 01/08 10:41:21 [WARN] ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.lang.IllegalArgumentException: No Configuration was registered that can handle the configuration named Client
 at com.bea.common.security.jdkutils.JAASConfiguration.getAppConfigurationEntry(JAASConfiguration.java:130)
 at org.apache.zookeeper.client.ZooKeeperSaslClient. init (ZooKeeperSaslClient.java:97)
 at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:943)
 at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:993)

 

觉得很奇怪,最后找到了源代码,发现原来是因为ZooKeeper客户端 默认使用JAAS方式认证,即使你不配置认证,客户端也会去首先尝试使用认证方式连接,抛错拦截后再使用非认证的方式去连接。

但是ZooKeeper 认证这段代码抛出的异常类型是SecurityException,而weblogic下的JAAS的认证抛出的却是RuntimeException ,所以捕获不到,所以会一直报错,无法连接。

 

解决办法:1 修改ZooKeeperSaslClient 类的代码,将抛出的异常类型改为RuntimeException 。

                  2 升级到2.4.6 或者回退到较早的版本。

 关于该问题已经有人上报了问题,相信在新版本,apache应该会尽快解决。

https://issues.apache.org/jira/i#browse/ZOOKEEPER-1696


Weblogic安装与配置详解 Weblogic安装与配置用Eclipse MyEclipse WebLogic8.1开发第一个Web程序1.安装jreEclipse虽然由java开发,但本身并不自带jre。所以你必须先自己安装,去http://java.sun.com/downloads下载最新J2SE1.4.2_03的jre安装文件j2re-1_4_2_03-windows-i586-p.exe。安装成功后,重启机器,并将jre的bin文件夹路径添加到系统环境变量PATH中,如:C:\Program Files\Java\j2re1.4.2_03\bin。
Weblogic 11g集群中的服务器在启动中出现BEA-000109错误 安装完成weblogic集群启动集群节点的时候报如下错误: BEA-000109   An error occurred while sending multicast message: java.io.IOException: Invalid argument java.io.IOException: Invalid argument异常,无法启动。
weblogic 安装部署详解 0x01 weblogic下载安装 去Oracle官网下载Weblogic 10.3.6,选择Generic版本,各版本选择下载地址:http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.