JBoss/Wildfly/EJB
2016年2月23日
1 目标:EJB容器,实现EJB标准,开发分布式应用。
EJB是Java的分布式应用标准,目标是提供分布式IoC的JavaBean,提供安全、事务等服务。
参考:http://www.360doc.com/content/15/0503/20/22369024_467728346.shtml
2 原理:服务器提供分布式应用,客户端通过TCP远程调用访问。
参考:http://www.360doc.com/content/15/0503/20/22369024_467728346.shtml
https://www.zhihu.com/question/22764869
3 流程:安装EJB容器JBOSS,服务端发布EJB服务,客户端获取远程对象在本地使用。
参考:http://www.doc88.com/p-848872913718.html
https://docs.jboss.org/author/display/WFLY8/EJB+invocations+from+a+remote+client+using+JNDI
3.1 安装JBOSS/Wildfly8:Wildfly官网下载对应版本,解压后按照ReadMe.txt安装。
3.1.1安装Java:Wildfly8需要JavaEE7,需要先安装JavaEE7。
3.1.2设置JBOSS_HOME环境变量:设置为JBOSS的根目录。
3.1.3启动JBOSS:JBOSS_HOME/bin/standalone.bat启动JBOSS。
3.1.4测试:在浏览器输入http://127.0.0.1:8080 ,如果显示Wildfly界面则正常启动。
3.2 安装Eclipse插件JBOSS Tools:官网(tools.jboss.org)查看Wildfly对应版本的插件与Eclipse版本要求。
3.2.1查看版本:Wildfly8需要Eclipse Luna和Java7(版本不对应的话无法正常使用)。
3.2.2Eclipse安装JBOSStools:help-》install newsoftware,使用指定网址安装(安装需要的工具)。
3.3 服务端:创建EJB工程,创建服务Bean的接口,实现此接口,发布为服务。
能够提供EJB服务的称为EJB容器,如JBOSS。
3.4 创建EJBProject:勾选create ejb-jar.xml。
3.5 创建服务Bean:包括用于对外提供服务的接口和实际工作类。
//HelloWorldBeanRemote.java
package lee;
importjavax.ejb.Remote;
@Remote
public interfaceHelloWorldBeanRemote {
public String sayHello();
}
//HelloWorldBean.java
package lee;
importjavax.ejb.LocalBean;
importjavax.ejb.Stateless;
/**
* Session Bean implementation classHelloWorldBean
*/
@Stateless
@LocalBean
public classHelloWorldBean implements HelloWorldBeanRemote {
/**
* Default constructor.
*/
public HelloWorldBean() {
// TODO Auto-generated constructor stub
}
@Override
public String sayHello() {
// TODO Auto-generated method stub
return"Hello,World,JBOSS!";
}
}
3.6 发布EJB服务:Servers右键-》New创建服务器
3.6.1创建EJB服务器:使用Wildfly8.x服务器,默认选项创建一个服务器。
3.6.2发布服务:项目右键-》Debugas-》Debug on Server,选择Wildfly服务器。
服务启动后显示Tweek started,说明服务成功启动。
服务器的log还会显示管理页面地址:http://127.0.0.1:9990/management
3.6.3添加管理用户:使用cmd打开JBOSS_HOME/bin/add-user.bat,按照提示添加管理用户。
添加用户:myNewUser/123456a.b
参考:http://www.cnblogs.com/HD/p/4000225.html
3.7 客户端:创建客户端工程,指定服务器,从服务器获取创建远程对象。
3.7.1创建客户端工程:Java Application。
3.7.1.1 添加EJB支持库:jboss-client.jar。
BuildPath-》add ExternalJARs-》JBOSS_HOME/bin/client/jboss-client.jar。