如何在使用域管理端口时停止Weblogic?

时间:2013-05-06 02:30:44

标签: security weblogic

我通过管理控制台激活域管理端口(在我的情况下为9042),无需重启。 然后我改变了停止脚本:

ADMIN_URL="t3s://localhost:9042"

我也改变了setDomainEnv.sh:

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.TrustKeyStore=DemoTrust"

但是当我运行stopWeblogic.sh时,我得到:

javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://localhost:9042: Destination unreachable; nested exception is: 
    java.io.IOException: Stream closed.; No available router to destination]
Problem invoking WLST - Traceback (innermost last):
  File "/home/pi/Programs/Oracle/Middleware/sand_box/domains/prod_basic/shutdown.py", line 3, in ?
  File "<iostream>", line 22, in connect
  File "<iostream>", line 648, in raiseWLSTException
WLSTException: Error occured while performing connect : Error getting the initial context. There is no server running at t3s://localhost:9042 
Use dumpStack() to view the full stacktrace

这样做的正确方法是什么?

Pd积。我也试过其他AdminServer端口7001和7002,但当然它说(应该):

WLSTException: Error occured while performing connect : User 'principals=[weblogic, Administrators]' has administration role. All tasks by adminstrators must go through an Administration Port.

1 个答案:

答案 0 :(得分:1)

我想要求澄清,但我是新的,stackoverflow不允许我要求澄清。因此我发帖作为答案。

如果AdminServer和托管服务器共享相同的SSL配置(如DemoIdentity和DemoTrust),那么最佳做法是像您一样修改setDomainEnv.sh。另一方面,如果WLS实例具有不同的SSL配置(如AdminServer的DemoIdentity和DemoTrust,以及托管服务器的CustomIdentity和JavaStandardTrust),那么最佳做法是修改停止脚本“DOMAIN_HOME / bin / stopWebLogic.sh”和“DOMAIN_HOME / bin” /stopManagedWebLogic.sh“,将ADMIN_URL设置为t3s。

在您的问题上,尝试按照两个标志,看看它是否有助于您找到根本原因:

-Dweblogic.security.SSL.verbose=true 
-Dweblogic.StdoutDebugEnabled=true 

当WLST会话尝试连接到“localhost:9042”时,这些将为您提供SSL调试条目。

此外,如果DemoIdentity证书的CN不是“localhost”(使用命令"keytool -list -v -keystore WL_HOME/server/lib/DemoIdentity.jks"),则还需要设置:

-Dweblogic.security.SSL.ignoreHostnameVerification=true