Weblogic集群JMS和Apache代理

发布于 2024-11-06 08:19:28 字数 2121 浏览 2 评论 0原文

我有一个带有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无敌元气妹 2024-11-13 08:19:28

您不能将负载均衡器放在 JMS 前面。您需要使用如下所示的集群 T3 地址:

t3://10.0.0.1:7001,10.0.0.2:7001,10.0.0.3:7001

You can't put a load balancer in front of JMS. You need to use a clustered T3 address like this:

t3://10.0.0.1:7001,10.0.0.2:7001,10.0.0.3:7001
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文