我们正在开发一个要部署在 JBoss/Wildfly 上的 JavaEE 7 应用程序,该应用程序将广泛使用 Web 套接字。我们正在使用Web 套接字支持,并且我们已经成功通过在 Apache 2.4 上mod_proxy_wstunnel
使用来启动并运行代理配置:mod_cluster
互联网 -> Apache HTTPD -> Wildfly
我们现在面临着对该应用程序进行集群的问题。我们将至少有 4 个节点启动并运行,以实现性能可扩展性和高可用性。我尝试创建一个<Proxy />
具有 2 个成员服务器的元素来完成此任务。它看起来像这样:
<VirtualHost *:80>
...
<Proxy balancer://myBalancer>
BalancerMember ws://localhost:9080
BalancerMember ws://localhost:19080
</Proxy>
<Location /ws>
...
ProxyPass balancer://myBalancer/MyContextPath/myWebSocketEndpoint
ProxyPassReverse balancer://myBalancer/MyContextPath/myWebSocketEndpoint
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用。当尝试打开路径上的网络套接字时,我总是在 JavaScript 中遇到连接错误http://localhost/ws
。我快速浏览了一下文档mod_proxy_balancer
,发现它声明支持 HTTP、FTP 和 AJP13 协议。有没有办法对 Web 套接字和 WS 协议进行负载平衡?或者这是一个完全不受支持的配置?我还可以利用哪些其他替代方案来实现这一目标?显然,使用单个 Web 套接字服务器作为我们的生产端点是不可接受的,因为它代表了单点故障。我非常感谢您提供的任何建议!
我们将 Web 应用程序从 JBoss 5.1 迁移到 7.0.9。迁移后,在特定场景中,会抛出如下所述的运行时异常,而在 JBoss 5.1 中我们没有遇到这种情况。我们发现对最大 http 参数有限制,默认值为 1000,以防止基于哈希冲突的 DOS 攻击。
1 . 是否可以在 JBoss 7.0.9 中禁用此限制?
2 . 如果不能,如何得出/确定给定应用程序的最大值?
java.lang.RuntimeException: io.undertow.util.ParameterLimitException: UT000047: io.undertow.server.handlers.form.FormData.add(FormData.java:78) [undertow-core]的参数数量超过了最大值 1000 -1.3.31.Final-redhat-3.jar:1.3.31.Final-redhat-3] 在 io.undertow.server.handlers.form.FormData.add(FormData.java:68) [undertow-core-1.3 .31.Final-redhat-3.jar:1.3.31.Final-redhat-3] 在 io.undertow.server.handlers.form.FormEncodedDataDefinition$FormEncodedDataParser.doParse(FormEncodedDataDefinition.java:172) [undertow-core-1.3 .31.Final-redhat-3.jar:1.3.31.Final-redhat-3] 在 io.undertow.server.handlers.form.FormEncodedDataDefinition$FormEncodedDataParser.parseBlocking(FormEncodedDataDefinition.java:251) [undertow-core-1.3 .31.Final-redhat-3.jar:1.3.31.Final-redhat-3] 引起: io.undertow.util.ParameterLimitException: UT000047: 参数数量超出最大值 1000 ... 38 更多
我有一个托管在 jboss 上的应用程序。使用oracle的jdbc驱动连接oracle 10.2g数据库。任何人都可以指导建立会话时会发生什么。
只是想了解 JDBC/ODBC 的内部工作。
任何帮助表示赞赏。
我使用这个脚本在 Ubuntu 14.04.4 LTS 上安装了 Wildfly 10.0.0 Final 。
一切看起来都很好。
我的问题是wildfly 正在侦听端口28080(脚本安装默认值),我可以更改为8080 更新standalone.xml。但是我希望wildfly 在端口80 上监听,但是将standalone.xml 更改为使用端口80 不起作用。
看起来只有 root 可以侦听低于 1024 的端口,所以,问题是,在 Ubuntu 服务器上配置 Wildfly 以侦听端口 80 的首选方法是什么?
我试过用nginx也可以,但是奇怪的是有些文件,比如jboss默认主页的css,找不到。
在我们的应用程序中,我们同时拥有 Apache Server(仅适用于前端)和 JBoss 4.1(适用于业务端)。我们使用 Ubuntu 12 作为服务器操作系统。我们的应用程序几乎每隔 2-3 小时就会连续抛出“java.lang.OutOfMemoryError: Java heap space”(所以应用程序开始抛出内存堆不足一小时左右,然后在接下来的 2-3 小时内再次开始正常工作)再次开始抛出内存不足异常)。我们的 Java 内存设置是
-Xms512m -Xmx1024m
我们的服务器有 6 GB 的物理内存。请指导我们是否需要增加 Java 堆大小。如果是,考虑到 6GB 的物理内存,理想的大小应该是多少。
问候, 普拉特克
jboss ×5
apache-2.4 ×1
cluster ×1
java ×1
jdbc ×1
odbc ×1
oracle ×1
socket ×1
ubuntu-14.04 ×1
wildfly8 ×1