Weblogic集群JMS和Apache代理
我有一个带有 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)在这种情况下工作?
I have a Weblogic 10.3.4 clustered JMS setup with 2 managed servers. Right now, each managed server has its own IP address. I have installed Apache and the Weblogic plugin as described here: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/plugins/apache.html
My entire Weblogic cluster is 4 managed servers, but I only want JMS to be on 2 of them. I have my Apache up and running with the following portion in the httpd.conf file.
<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>
However, this does not work. I have a simple Java class that writes/reads from a JMS queue and it works when going to each JMS server's IP address, but when going through the proxy's IP, I get this.
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)
Does anyone know what I must do to get t3 (and one day t3s) to work in this case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能将负载均衡器放在 JMS 前面。您需要使用如下所示的集群 T3 地址:
You can't put a load balancer in front of JMS. You need to use a clustered T3 address like this: