5.6. 配置 EJB 客户端地址


您可以使用 SessionContext 界面确定 EJB 客户端地址,如下例所示。

public class HelloBean implements HelloBeanRemote {
    @Resource
    SessionContext ctx;
    private Long counter;
    public HelloBean() {
    }
    @PostConstruct
    public void init() {
        counter = 0L;
    }
    @Override
    @RolesAllowed("users")
    public String hello() {
        final String message = "method hello() invoked by user " + ctx.getCallerPrincipal().getName()
                + ", source addr = " +  ctx.getContextData().get("jboss.source-address").toString();
        System.out.println(message);
        return message;
    }
}
Copy to Clipboard Toggle word wrap

独立客户端配置

您可以在 wildfly -config.xml 文件中带有 namespace urn:xnio:3.5worker 元素中配置 outbound-bind- addresses 元素。bind-address 子元素取 匹配bind-address 和bind- port 的属性,如下定义。

以下是使用 wildfly-config.xml 文件的独立客户端配置示例:

<configuration>
    <worker xmlns="urn:xnio:3.5">
        <worker-name value="default"/>
        <outbound-bind-addresses>
            <bind-address bind-address=IP_ADDRESS_TO_BIND_TO bind-port=OPTIONAL_SOURCE_PORT_NUMBER match=CIDR_BLOCK />
        </outbound-bind-addresses>
    </worker>
</configuration>
Copy to Clipboard Toggle word wrap

outbound -bind-address 需要以下属性:

  • match 是一个无类别域间路由(CIDR)块,如 10.0.0.0/8,ff00::\8,0.0.0.0/0,::/0。
  • bind-address 指定目标地址与 match 参数中指定的 CIDR 块匹配时要绑定的 IP 地址。它应当与 CIDR 块相同的地址系列。
  • bind-port 是一个可选的源端口号,默认为 0

    如果没有匹配的表达式,则不会显式绑定出站套接字。

基于容器的配置

基于容器的 EJB 客户端地址配置与 wildfly-config.xml 文件中定义的独立客户端配置类似。

以下示例在 io 子系统的默认 worker 元素上配置 outbound -bind-address,ej b3 子系统默认使用它。

/subsystem=io/worker=default/outbound-bind-address=SPECIFY_OUTBOUND_BIND_ADDRESS:add(bind-address=IP_ADDRESS_TO_BIND_TO, bind-port=OPTIONAL_SOURCE_PORT_NUMBER, match=CIDR_BLOCK)
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat