2.7. ejb3 子系统


ejb3 子系统中默认的全局有状态会话 Ban 超时值

ejb3 子系统中,您可以使用 default-stateful-bean-session-timeout 属性,为服务器实例上部署的所有有状态会话 Bean(SFSB)配置默认的全局超时值。此属性位于 JBoss EAP 服务器配置文件中。您可以使用 Management CLI 配置属性。

属性行为因服务器模式而异。例如:

  • 在单机服务器中运行时,配置的值将应用到应用服务器上部署的所有 SFSB。
  • 在受管域中运行时,服务器组内服务器实例上部署的所有 SFSB 都将获得并发超时值。
注意

当您更改属性的全局超时值时,更新的设置仅适用于新部署。重新加载服务器,以将新设置应用到当前部署。

默认情况下,属性值设为 -1 毫秒,这意味着部署的 SFSB 配置为永不超时。但是,您可以为该属性配置另外两种有效值,如下所示:

  • 当值为 0 时,SFSB 有资格被 ejb 容器立即移除。
  • 当值大于 0 时,SFSB 在被 ejb 容器移除前会在指定时间内保持闲置状态。

您仍然可以使用预先存在的 @StatefulTimeout 注释或 stateful-timeout 元素(位于 ejb-jar.xml 部署描述符中)来配置 SFSB 的超时值。但是,设置此类配置会将默认的全局超时值覆盖 SFSB。

database-data-store 中强制 Jakarta Enterprise Beans 计时器刷新

现在,您可以使用 EE 拦截器设置 wildfly.ejb.timer.refresh.enabled 标志。当应用调用 TimerService.getAllTimers() 方法时,JBoss EAP 会检查此标志。如果此标志设为 true,JBoss EAP 将在返回结果之前从数据库刷新 Jakarta Enterprise Beans 定时器。

在前面的 JBoss EAP 版本中,可使用 database-data-store 中的 refresh-interval 属性在数据库中刷新 Jakarta Enterprise Beans 定时器读取。用户可以设置 refresh-interval 属性值(毫秒)来刷新 Jakarta Enterprise Beans 定时器读取。

有关 Jakarta 企业 Beans 集群数据库支持的过期信息,请参阅开发 Jakarta 企业 Beans 集群数据库计时器 指南。

从 Jakarta Enterprise Beans 访问运行时信息

借助 JBoss EAP 7.4,您可以访问 Jakarta Enterprise Beans 的运行时数据。有状态会话 Bean、无状态会话 Bean 和单例 Bean 各自返回不同的运行时信息。例如,以下命令返回无状态会话 Bean 的运行时数据:

/deployment=ejb-management.jar/subsystem=ejb3/stateless-session-bean=ManagedStatelessBean:read-resource(include-runtime)
Copy to Clipboard Toggle word wrap

通过 HTTP 动态发现 Jakarta Enterprise Beans

借助 JBoss EAP 7.4,您可以通过 HTTP 使用 Jakarta Enterprise Beans 的动态发现。要使用这个功能,请在 ejb-remote 配置集中添加类似如下的配置:

<remote connector-ref="http-remoting-connector" thread-pool-name="default">
    <channel-creation-options>
        <option name="MAX_OUTBOUND_MESSAGES" value="1234" type="remoting"/>
    </channel-creation-options>
    <profiles>
        <profile name="my-profile">
            <remote-http-connection name="ejb-http-connection" uri="http://127.0.0.1:8180/wildfly-services"/>
        </profile>
    </profiles>
</remote>
Copy to Clipboard Toggle word wrap

用于远程 Jakarta Enterprise Beans 调用的全局压缩配置

借助 JBoss EAP 7.4,您可以全局配置对远程 Jakarta Enterprise Beans 的调用压缩。要在独立客户端上全局配置压缩,请在 jboss-ejb-client.properties 文件中指定 default.compression 属性。要在服务器上全局配置压缩,在应用程序部署单元中的 jboss-ejb-client.xml 描述符文件中的 <client-conext> 项中包括 default-compression 属性。

<jboss-ejb-client xmlns="urn:jboss:ejb-client:1.4">
    <client-context default-compression="5">
        <profile name="example-profile" />
    </client-context>
</jboss-ejb-client>
Copy to Clipboard Toggle word wrap

在 Elytron 中设置主要传播行为的新属性

在 JBoss EAP 7.4 中,新可选属性添加到 ejb3 子系统的 application-security-domain 元素中。通过新属性 legacy-compliant-principal-propagation,您可以控制 Jakarta 企业 Beans 应用程序的主要传播行为。

legacy-compliant-principal-propagation 的默认值是 true。因此,主体传播行为默认为兼容旧 安全 子系统。

如果您将 属性配置为 false,Elytron 提供了任何本地未安全的 Jakarta Enterprise Beans,它们没有 作为 匿名主体身份运行。此配置符合 Elytron 之前的行为。

有关 Elytron 与 ejb 子系统集成的信息,请参阅 开发 Jakarta 企业 Beans 应用指南中的 Elytron 与 ejb 子系统集成

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部