我有一个带有2个托管服务器的Weblogic 10.3.4集群JMS设置。现在,每个受管服务器都有自己的IP地址。我安装了Apache和Weblogic插件,如下所述:http://download.oracle.com/docs/cd/E12840_01/wls/docs103/plugins/apache.html
我的整个Weblogic集群是4个托管服务器,但我只希望JMS在其中2个上。我已经启动了Apache并在httpd.conf文件中运行了以下部分。
<IfModule mod_weblogic.c>
WebLogicCluster ip1:7001,ip2:7001,ip3:7001,ip4:7001
ErrorPage http://ip1:7070/error.html
DynamicServerList ON
IdemPotent OFF
</IfModule>
...
...
<Location /HTTPClnt>
SetHandler weblogic-handler
WebLogicCluster ip1:7001,ip2:7001
</Location>
然而,这不起作用。我有一个简单的Java类,可以从JMS队列中写入/读取,并且在转到每个JMS服务器的IP地址时都可以工作,但是当通过代理的IP时,我得到了这个。
Exception in thread "main" javax.naming.CommunicationException [Root exception is weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">]]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:40)
at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:788)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:366)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at jms.jmsinit(jms.java:112)
at jms.putMessageInQueue(jms.java:77)
at jms.main(jms.java:52)
有没有人知道在这种情况下我必须做些什么来让t3(以及一天t3s)工作?
答案 0 :(得分:2)
您无法在JMS前放置负载均衡器。您需要使用这样的集群T3地址:
t3://10.0.0.1:7001,10.0.0.2:7001,10.0.0.3:7001