部署在WildFly上的EJB客户端,调用另一个WildFly上的EJB服务的过程详解
来源:互联网 发布:p2p数据分析报告 编辑:程序博客网 时间:2024/05/16 07:37
本文是前一篇博文的继续,应用的场景如下:
EJB服务开发完毕后,以ear或jar的方式部署在一个WildFly服务器上;
EJB客户端开发(详解前一篇博文)完毕后,以war的方式(也可以是另外一个ear)部署在另一个WildFly服务器上。
对于部署EJB服务的WildFly服务器,除了前文介绍的添加必要的用户之外,无需任何额外的设置。
对于部署EJB客户端的WildFly服务器,还需要进行如下配置:
1. 将有效用户的密码进行base64加密
可以通过通用工具将密码的明文转换为密文
2. 创建安全域以发送用户认证信息到EJB服务器
编辑standlaone-full.xml如下:
<management>
<security-realms>
...
<security-realm
name="ejb-security-realm">
<server-identities>
<secret
value="
dGVzdA==
"/>
</server-identities>
</security-realm>
</security-realms>
…
其中的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如下:
<subsystem
xmlns="urn:jboss:domain:remoting:3.0">
....
<outbound-connections>
<remote-outbound-connection
name="remote-ejb-connection"
outbound-socket-binding-ref="remote-ejb"
protocol="http-remoting"
security-realm="ejb-security-realm"
username="
ejb
">
<properties>
<property
name="SASL_POLICY_NOANONYMOUS"
value="false"/>
<property
name="SSL_ENABLED"
value="false"/>
</properties>
</remote-outbound-connection>
</outbound-connections>
</subsystem>
其中的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
- 部署在WildFly上的EJB客户端,调用另一个WildFly上的EJB服务的过程详解
- 调用部署在websphere上的EJB
- Jboss wildfly部署在linux环境上无法访问的问题
- 如何调用部署在其他服务器上的EJB?
- 如何调用部署在其他服务器上的EJB?
- 在WildFly上部署项目时报找不到JDK的相关类
- 如何在Wildfly上搭建Ibm mq的消息队列
- 0069 drools workbench 在wildfly上的搭建
- ejb调用的过程
- WildFly AS提供的WildFly Maven Plugin插件详解
- WildFly AS提供的WildFly Maven Plugin插件详解
- Java EE 远程客户的访问EJB实现实例(Jboss wildfly)
- Wildfly 10的安装、配置到部署
- EJB对象的部署及客户端调用简单示例
- Linux上安装部署WildFly 10
- EJB的体系结构(上)
- EJB客户端应用通过JNDI调用远程EJB的方法详解
- 多个依赖Netty3的应用在同一个Wildfly服务器上的布署冲突问题分析与解决
- 优先队列及最小堆最大堆
- Extjs4----anchor布局
- 把Android项目迁移到Android Studio常见的错误
- codeforces 650A Watchmen 【数学】
- Visual Studio 路径宏
- 部署在WildFly上的EJB客户端,调用另一个WildFly上的EJB服务的过程详解
- JS数字转大写中文金钱JS函数
- POJ 5636 Shortest Path(floyd)
- (无法推断有效的主键。已排除该表/视图)Entity Framework 无法对没有主键的视图映射实体的解决办法
- 【FFMPEG】FFMPEG程序捕获Mac设备流媒体
- mysql导出数据表结构,必须退出mysql命令.重新使用msyqldump命令
- mac 上找不到 lippicv, 坑
- Swift的一些基本属性1 (常量变量)
- css实现h5页面滚动效果