5.7. Jakarta Enterprise Beans Invocation Over HTTP
通过 HTTP 调用 Jakarta Enterprise Beans 包含两个不同的部分:客户端和服务器端实施。
5.7.1. 客户端实施 复制链接链接已复制到粘贴板!
客户端实施由使用 Undertow HTTP 客户端调用服务器的 EJBReceiver 组成。连接管理使用连接池自动处理。
要将 Jakarta Enterprise Beans 客户端应用程序配置为使用 HTTP 传输,您必须根据 HTTP 传输实施添加以下依赖关系:
<dependency>
<groupId>org.wildfly.wildfly-http-client</groupId>
<artifactId>wildfly-http-ejb-client</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.wildfly-http-client</groupId>
<artifactId>wildfly-http-ejb-client</artifactId>
</dependency>
要执行 HTTP 调用,您必须使用 http URL 方案,并包含 HTTP 调用器的上下文名称 wildfly-services。例如:如果您使用 remote+http://localhost:8080 作为目标 URL,为了使用 HTTP 传输,您必须将其更新为 http://localhost:8080/wildfly-services。
5.7.2. 服务器端实施 复制链接链接已复制到粘贴板!
服务器端实施由处理传入 HTTP 请求的服务组成,取消发送请求并将结果传递到内部 Jakarta Enterprise Beans 调用代码。
若要配置服务器,必须在您要在 undertow 子系统中使用的每个虚拟主机上启用 http-invoker。这在标准配置中默认启用。如果禁用,可使用以下管理 CLI 命令重新启用它:
/subsystem=undertow/server=default-server/host=default-host/setting=http-invoker:add(http-authentication-factory=myfactory, path="wildfly-services")
/subsystem=undertow/server=default-server/host=default-host/setting=http-invoker:add(http-authentication-factory=myfactory, path="wildfly-services")
HTTP-invoker 有两个属性:一个默认为 wildfly-services 的路径,以及以下之一:
-
http-authentication-factory必须是 Elytronhttp-authentication-factory 的引用,如上述命令所示。 -
传统
安全领域.
请注意,上述两个属性是互斥的:您不能同时指定 http-authentication-factory 和 security -realm。
任何旨在使用 http-authentication-factory 的部署都必须使用 Elytron 安全性和与指定 HTTP 身份验证工厂对应的相同安全域。