JBoss AS 7 中的集群 EJB 不平衡

2023-12-28

我已成功设置由 2 个 JBoss AS 7 实例组成的集群,并部署了以下 SLSB:

@Stateless
@Remote(TestEJBRemote.class)
@Clustered
public class TestEJB implements TestEJBRemote {
  private static final long serialVersionUID = 1L;
  private static final Logger logger = Logger.getLogger(...);

  @Override
  public void test() {
    String nodeName = System.getProperty("jboss.node.name");
    logger.info(nodeName);
  }
}

从日志文件中我可以看到该 bean 已正确部署在集群上。然后,在客户端,我创建许多线程来查找并调用TestEJB。然而,似乎所有实例最终都在同一个节点中。

这是“jndi.properties”文件:

java.naming.factory.url.pkgs=org.jboss.ejb.client.naming

和“jboss-ejb-client.properties”:

endpoint.name=client-endpoint
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false

remote.connections=default
remote.connection.default.host=192.168.0.1
remote.connection.default.port=4447
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.default.username=user
remote.connection.default.password=pass

remote.clusters=ejb
remote.cluster.ejb.clusternode.selector=org.jboss.ejb.client.RandomClusterNodeSelector

在客户端我做final InitialContext ctx = new InitialContext();然后在每个线程中形成:

String name = "ejb:/test//TestEJB!" + TestEJBRemote.class.getName();
TestEJBRemote remote = (TestEJBRemote) ctx.lookup(name);
remote.test();

我做错了什么?

UPDATE

如果我仅指定连接列表中的第二个节点,我会得到:

java.lang.IllegalStateException: No EJB receiver available for handling [...] combination for invocation context org.jboss.ejb.client.EJBClientInvoc ationContext

所以这个问题可能需要首先解决......

UPDATE 2

我最终通过在从节点中设置一个应用程序用户解决了这个问题。之前,我尝试以管理用户身份进行连接,但没有成功。

现在,只要我在连接列表中指定一个从属节点(在“jboss-ejb-client.properties”中),负载平衡就可以正常工作。如果我指定主节点,则所有 EJB 将仅在该节点中结束。然而,这个解决方案对我来说已经足够了。


看起来您需要在属性构建中指定两台服务器。另外,JBoss 7.1 中似乎有一个“但是”,因此您至少应该使用 7.2,检查此链接 https://issues.jboss.org/browse/AS7-4223以下样本取自:

Properties properties = new Properties();
properties.put("endpoint.name", "farecompare-client-endpoint");
properties.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");
properties.put("remote.connections", "cmc5101,cmc5102");
properties.put("remote.connection.cmc5101.host", "cmc5-101");
properties.put("remote.connection.cmc5101.port", "4447");
properties.put("remote.connection.cmc5101.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");
properties.put("remote.connection.cmc5102.host", "cmc5-102");
properties.put("remote.connection.cmc5102.port", "4447");
properties.put("remote.connection.cmc5102.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");
PropertiesBasedEJBClientConfiguration configuration = new PropertiesBasedEJBClientConfiguration(properties);
final ContextSelector ejbClientContextSelector = new ConfigBasedEJBClientContextSelector(configuration);
final ContextSelector previousSelector = EJBClientContext.setSelector(ejbClientContextSelector);
final Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
final Context context = new InitialContext(jndiProperties);

Also 这个链接 https://docs.jboss.org/author/display/AS71/Clustered+EJBs可能会有帮助。 其他有用的链接 https://docs.jboss.org/author/display/AS71/EJB+invocations+from+a+remote+client+using+JNDI.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JBoss AS 7 中的集群 EJB 不平衡 的相关文章

  • 无法查找 Websphere 8.5 中是否启用了 SSL

    我编写了一个简单的 ejb 瘦客户端来查找 IBM WebSphere 8 5 中部署的 bean 当服务器上未启用 SSL 时 我能够成功查找 bean 但是一旦启用 SSL 我就开始收到下面提到的异常 This is how I ena
  • 基于邻近度的负载均衡

    我正在开展一个项目 我们在世界各地拥有大量 目前为 5 台 服务器 客户端通过集中式代理连接到其中一台服务器 我们知道客户的原籍国 但除此之外一无所知 我们完全控制服务器 因此我们可以获得所需的所有信息 我们不控制客户 他们必须按照标准通过
  • 如何从不同 JVM 中的独立 java 程序调用 EJB

    我使用具有 glassfish 服务器的 NETbeans IDE 开发了 EJB 我可以从独立的java调用它 只要这个java项目是在NETbeans下开发并在相同的JRE下运行的 但我需要找出如何在不同的 jre 中运行它 我在这方面
  • JSP 通常是作为 .jsp 文件、预编译的 Java 文件还是预编译的类文件提供的?

    在为生产环境准备 WAR 时 是否有打包 JSP 的 标准 实践 它们是否包含为 jsp 文件 或者它们是否作为预编译的 Java 文件或预编译的类文件包含在内 Servelts JSP 规范没有提及预编译 JSP 来实现此功能具体到容器实
  • 企业 Web 应用程序中的 JavaFX - 经典网页的良好替代方案?

    我们为不同的客户开发了多种 Web 应用程序 从为那些可怜的管理员提供的简单 看起来很无聊的 CRUD 风格的 GUI 到为那些互联网用户提供的奇特的 AJAX 增强型 GUI 所有这些都基于 JSF 1 2 与 JBoss Seam 2
  • JBoss 7.2 版本使用什么日志记录?

    java 中可以使用多种日志记录变体 最流行的是 log4j 和 JDK 日志记录 我想知道 JBoss Application Server 7 2 版本默认使用什么日志记录 通过查看模块或配置文件很难找到所使用的记录器 如果有人可以在这
  • Weblogic:Java 8 迁移后 AppMerge 无法合并您的应用程序

    我们正在将 Java EE 应用程序从Java 6 to Java 8 这意味着编译级别和迁移JRE6 上的 Weblogic 11g to JRE8 上的 Weblogic 12c 当我尝试部署项目时 出现以下错误 lt 20 7 201
  • 使用 Hibernate 映射数组

    你能帮我使用 Hibernate 映射这个类吗 public class MyClass private Long id private String name private int values 我使用的是 PostgreSQL 表中的
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • 属性编辑器未向 PropertyEditorManager 注册:自定义标记调用时出错

    调用我的时出现以下错误testtag jsp org apache jasper JasperException 无法将属性 att1 的字符串 转换为类 javax servlet jsp tagext JspFragment 属性编辑器
  • 从 servlet 向 applet 发送数据:我怎样才能实现这个?

    我要发送 发送HashMap反对请求它的小程序 servlet 具有这样的功能HashMap目的 我有办法做到这一点吗 Applet requests HashMap object gt Servlet listens to this re
  • 将 CommonJ 实现与 GlassFish 和 Spring 3 结合使用

    为了统一 Websphere 7 和 GlassFish 3 环境之间的部署 我决定尝试在 GlassFish 中实现 CommonJ WorkManager 和 TimerManager 但它并没有完全按预期工作 我做了以下事情 使用位于
  • 如何作为应用程序发布到页面?

    所以 我有一个应用程序 Facebook 应用程序实体 并且我有一个页面 我想使用应用程序通过java代码 通过restfb或任何其他建议 发布到页面 看起来我错过了页面授予应用程序发布权限的阶段 不知道该怎么做 谢谢你们 乌里 您只能 作
  • 用于层次结构树角色的 Spring Security / Java EE 解决方案

    我知道 Spring Security 非常适合标准角色和基于权限的授权 我不确定的是这种情况 系统中管理着 10 000 名员工 员工被组织成组织结构图 跨部门的谁向谁报告的树 其中一些员工是用户 这些用户仅被允许访问其职责范围内的员工
  • 使用 javax/json,如何将元素添加到现有的 JsonArray 中?

    我从文件中读取了一个 JSON 数组 但我想向该数组中添加其他条目 我将如何使用 javax json 库来做到这一点 private String getJson FileInputStream fis throws IOExceptio
  • Spring Security 自定义过滤器

    我想自定义 Spring security 3 0 5 并将登录 URL 更改为 login 而不是 j spring security check 我需要做的是允许登录 目录并保护 admin report html 页面 首先 我使用教
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • 如何从引用的java项目访问静态资源(WEB-INF)文件夹中的文件?

    我有一个 Web 应用程序 其中包含一个作为 spring bean 公开的应用程序服务之一的配置 xml 文件 另外 我在同一工作区中有一个独立的 java 应用程序 它从其 pom xml 引用我的 Web 应用程序项目 它使用 Spr
  • 如何拦截 REST 端点以接收所有标头?

    我当前的代码是 Path login RequestScoped public class LoginResource GET SecurityChecked public Response getUser HeaderParam AUTH
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在

随机推荐

  • VBA获取连接器“从形状”和“到形状”

    我在 Excel 中有一个流程设计 使用形状 连接器等 我需要的是有一个矩阵 并且每个形状都有所有的前任和所有的后继 在 VBA 中 为此我尝试执行以下操作 我列出了所有连接器 Shapes AutoShapeType 2 对于每一个 我想
  • 如何解决这个问题呢? SVN 1.8.19:E170000:无法识别的 URL 方案

    我想在我的linux服务器 SUSE Linux Enterprise Server 11 上使用svn 并且我安装了svn 1 8 19 但是当我使用 svn update时 出现问题 svn E170000 Unrecognized U
  • 使用 XCopy 将具有精确结构的文件复制到另一个目录中

    我想复制这个文件C Majid File text txt to D Copied C Majid File text txt gt D Copied 我想使用 Xcopy 将该文件及其完整目录复制到D Copied 那么我应该有这样的东西
  • 无法将 FindFileData.cFileName 转换为字符串

    我取得了很大的进展 但有两个问题几天来一直困扰着我 最大的就是我想保存FindFileData cFileName作为字符串 但我不能 有什么帮助吗 我从这里复制了这个 如何将wstring转换为字符串 https stackoverflo
  • 拟合 beta 分布时出错:函数 mle 无法估计参数,错误代码为 100

    我正在尝试使用fitdist 函数从fitdistrplus包以使我的数据适合不同的分布 假设我的数据如下所示 x c 1 300000 1 220000 1 160000 1 300000 1 380000 1 240000 1 1500
  • 使用 noscript 嵌入额外的样式

    我有一个 XHTML 严格页面 其中有一个由 Javascript 控制的不可见 div 通过脚本和鼠标悬停事件将 div 设置为透明且可见 以使 div 在悬停时不透明 当有人使用没有 javascript 的浏览器 或带有 noscri
  • 如何从 JSP 访问 JavaScript 中的 Java 对象 [重复]

    这个问题在这里已经有答案了 我在 JSP 中有一个下拉框 列出了一个 Java 对象 通过 MVC 控制器的 addAttribute 访问该对象 现在 从下拉框中选择一个选项时 我想在 div 中显示所选员工的其他详细信息 例如 empl
  • Spring数据Redis HGETALL操作

    我在用Redis作为我的 Spring Web 应用程序的数据存储并使用Spring Data Redis作为我的客户与之互动Redis 我在用HashMap存储一个具有多个字段的对象 我可以将所有字段放入Redis立即使用DefaultR
  • iPhone 中可扩展的 tableView

    我想做这种类型的可展开 可折叠表视图 如图所示 有类别和子类别 例如 健康与美丽 是一个类别 当我单击此单元格时 它会打开子类别 如下图所示 那么如何制作这种类型的表格视图呢 请建议我 最后 我在下面得到了两个非常有用的帮助链接 其中准确描
  • 即使添加 SSH 密钥后,Github 上的身份验证仍失败

    当我尝试将代码推送到我的存储库时 我收到 fatal Authentication Failure 我也在我的 github 帐户上添加了公钥 当我做 ssh i email protected cdn cgi l email protec
  • Firebase 托管 - 功能重写定价

    如果你使用Firebase 托管将请求定向到云功能通过重写 通过 托管的请求流量是否会计入 Firebase 托管GB 已转移 忽略云功能的计费 换句话说 Do Firebase 托管当请求到来时 函数重写本身要花钱吗 需要明确的是 明显地
  • HTTP 标头中缺少 Spring WebServiceTemplate SOAPAction

    我在通过 Spring ws WebServiceTemplate 调用 SOAP 1 2 WebService 时遇到困难 发出的请求在 Http 标头中缺少 SOAPAction 并且服务器抛出错误 无法处理没有有效操作参数的请求 请提
  • 添加 2 个时间值的混乱

    基本上这一切都让我感到沮丧 我是编程新手 所以如果我问了一个愚蠢的问题 我深表歉意 我的数据库中存储了一个 MySQL time 我想将此时间添加到当前时间以建立目标时间 持续时间为 06 00 00 MySQL时间 length strt
  • laravel中的双冒号是什么意思

    例子 Auth guard guard gt guest 我不明白双冒号 表示法在 Laravel 框架中的含义 从http php net manual en language oop5 paamayim nekudotayim php
  • EditText setError 在 PopupWindow 中不起作用

    I had popup window具有自定义布局edittext 我试图在以下位置显示错误消息edittext with setError方法 但它给出了以下异常 android view WindowManager BadTokenEx
  • 在 Postgresql 中归档旧数据

    目前 我期待有人就我将要进行的数据库归档过程提供建议 我的数据库 DB 1 有 2 个非常大的表 一个表有 25 GB 的数据 另一个表有 20 GB 的数据 即使我有索引 这也会导致主要的性能问题 因此 我们考虑通过以下过程归档旧数据 从
  • Jquery一次循环绑定10条记录

    我有一个场景 我从服务器获取数千条 JSON 记录并将所有记录绑定到页面 对于每条记录 我都在 jquery 中进行一些计算并将数据绑定到 UI 由于记录数为 1000 条 计算和绑定数据所需的时间更长 当所有记录计算完成后 页面上的数据将
  • MongoDB:在具有多个条件的数组中查找值

    我正在尝试根据价格范围过滤文档 我有以下文档结构示例 name test 1 priceObject price value 1000 price value 500 price value 333 我使用聚合来匹配
  • 访问未配置的 YouTube API

    我正在尝试将观看 YouTube 上的某些视频的功能添加到我正在创建的 iOS 应用程序中 我有来自 Google 的 API 密钥 并从开发者控制台启用了 YouTube API 正如评论所建议的那样 这不是问题 我有一个非常简单的方法
  • JBoss AS 7 中的集群 EJB 不平衡

    我已成功设置由 2 个 JBoss AS 7 实例组成的集群 并部署了以下 SLSB Stateless Remote TestEJBRemote class Clustered public class TestEJB implement