2014-10-07 100 views
1

在我们的公共测试环境中,首次尝试在WLST中进行连接始终失败。然后第二次尝试始终工作并建立连接。我无法找到任何类似的使用谷歌,所以我希望有人在这里可以帮助。WLST与管理端口的连接在第一次尝试时始终失败

我第一次尝试;

<Oct 7, 2014 1:49:03 PM EEST> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true> 
<Oct 7, 2014 1:49:03 PM EEST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true> 
Traceback (innermost last): 
File "<console>", line 1, in ? 
File "<iostream>", line 22, in connect 
File "<iostream>", line 653, in raiseWLSTException 
WLSTException: Error occured while performing connect : Error getting the initial context. There is no server running at t3s://xxx.xxx.xxx.xxx:nnnn 

dumpStack()显示以下内容;

javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://xxx.xxx.xxx.xxx:nnnn: Destination unreachable; nested exception is: 
    java.net.SocketException: Write failed: Broken pipe; No available router to destination] 
javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://xxx.xxx.xxx.xxx:nnnn: Destination unreachable; nested exception is: 
    java.net.SocketException: Write failed: Broken pipe; No available router to destination] 

之后,我尝试再次连接,发生这种情况;

Connecting to t3s://xxx.xxx.xxx.xxx:nnnn with userid adminuserid ... 
Successfully connected to Admin Server 'ourTestServer' that belongs to domain 'ourTestDomain'. 

现在我已经试过这10倍左右,它总是做同样的,第一次尝试失败,第二次尝试的作品。每次我使用IP而不是地址的名称。这是在带有最新安全补丁的WLS 10.3.6的Linux(RHEL6)中。

我假设这条线从服务器的日志是相关的,因为它发生在信息行上面29秒后发生;

####<Oct 7, 2014 1:49:32 PM EEST> <Warning> <Socket> <machinename.domain.local> <ourTestServer> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1412678972504> <BEA-000449> <Closing socket as no data read from it on xxx.xxx.xxx.xxx:nnnn during the configured idle timeout of 25 secs> 

我不知所措,第一次尝试失败,第二次尝试的作品总是如此。

+1

我在Windows上有完全相同的问题。一台管理服务器,一台主机,并且它总是在第二次尝试时连接。 Oracle的支持没有帮助,所以我们必须在我们的脚本中添加逻辑来捕获异常并再次尝试连接......祝您好运 – 2014-10-09 15:03:12

回答

1

我在运行RHEL 6.5的WebLogic 11g上遇到同样的问题。这种运行wlst.sh围绕它为我工作之前小片段(用空格分开的其他属性如果需要的话):

export WLST_PROPERTIES="-Djava.security.egd=file:/dev/./urandom" 

或者,你可以,如果你不使用WLST相当于添加到您的命令行.sh脚本启动JVM。

我在这里找到了答案: https://community.oracle.com/thread/1036828?start=0&tstart=0

它显然可以归结为一个问题与“低熵”的机器的随机数发生器。参见11.28.8节。 http://docs.oracle.com/cd/E14571_01/doc.1111/e14773/weblogic_server_issues.htm

我的服务器机器目前使用非常少,所以它很有意义。

+0

甜,谢谢。迄今尝试过这一次,其结果是成功。 – pkauko 2015-03-05 06:03:25

0

您可以尝试在执行此操作时运行TCP转储。是否有某种负载平衡器,因为它听起来像是有50%的故障,这是一致的。同时检查access.log条目,看看你是否真的能够到达服务器。你可以尝试的另一件事是看你的/ etc/hosts文件,看看你的主机名有什么条目。

+0

主机文件看起来很好,只有一个条目用于服务器的主机名和IP。 服务器日志包含关于使用匹配的IP关闭套接字的行,并且在查看它之后,我看到它们只在我尝试连接时才发生,因此请求确实发送到服务器。我不确定管理端口或任何t3(s)连接是否在access.log中结束。 我没有使用IP的负载均衡器。我试过telnet到多台机器的端口,并且100%的时间工作。 我会研究在测试时运行TCP转储的可能性。 感谢您的建议。 – pkauko 2014-10-08 06:41:30

相关问题