本文是前一篇博文的继续,应用的场景如下:
EJB服务开发完毕后,以ear或jar的方式部署在一个WildFly服务器上;
EJB客户端开发(详解前一篇博文)完毕后,以war的方式(也可以是另外一个ear)部署在另一个WildFly服务器上。
对于部署EJB服务的WildFly服务器,除了前文介绍的添加必要的用户之外,无需任何额外的设置。
对于部署EJB客户端的WildFly服务器,还需要进行如下配置:
1. 将有效用户的密码进行base64加密
可以通过通用工具将密码的明文转换为密文
2. 创建安全域以发送用户认证信息到EJB服务器
编辑standlaone-full.xml如下:
|
其中的secret值就是EJB服务器设置的密码test的base64密文
3. 创建端口绑定
编辑standlaone-full.xml如下:
<socket-binding-groupname="standard-sockets"default-interface="public"port-offset="${jboss.socket.binding.port-offset:0}"> ... <outbound-socket-bindingname="remote-ejb"> <remote-destinationhost="10.87.140.129"port="8080"/> </outbound-socket-binding> </socket-binding-group> |
其中的host就是EJB服务器的IP,port就是EJB服务器的端口(默认为8080)
4. 创建远程连接
编辑standlaone-full.xml如下:
|
其中的username就是EJB服务器设置的有效用户名
5. EJB客户端的打包及jboss-ejb-client.xml文件
jboss-ejb-client.xml文件内容如下:
<jboss-ejb-clientxmlns="urn:jboss:ejb-client:1.2"> <client-context> <ejb-receivers> <remoting-ejb-receiveroutbound-connection-ref="remote-ejb-connection"/> </ejb-receivers> </client-context> </jboss-ejb-client> |
对于EAR打包方式,jboss-ejb-client.xml文件位于META-INF/jboss-ejb-client.xml。
对于WAR打包方式,jboss-ejb-client.xml文件位于WEB-INF/jboss-ejb-client.xml。
至此完成所有配置,重启 EJB客户端所在的WildFly服务器,即可看到EJB调用的日志信息。
参考文献:
https://docs.jboss.org/author/display/WFLY10/EJB+invocations+from+a+remote+server+instance