Intellij + EJB搭建指南

最近学习EJB的基本使用,在搭建基本配置上遇下了不少坑。Google/Baidu搜索下的基本都是使用Eclipse + JBoss,使用Intellij的配置的也是使用JBoss7。因此记录下简单的配置过程,以供学习参考使用。

逻辑服务搭建:

1. 所需文件

  • wildly 11.0 Filnal 即JBoss8+ http://wildfly.org/downloads/
  • javax.ejb-api-3.2.jar EJB的支持 http://mvnrepository.com/artifact/javax.ejb/javax.ejb-api
  • tomcat

后端构建

1. 创建项目

由于wildfly使用war部署,创建普通的web项目即可。(创建时加上EJB也是可以的,在功能栏会有EJB管理模块)


Intellij + EJB搭建指南_第1张图片
创建项目

将EJB所需要的支持库加入(ProjectStructure->Library)


Intellij + EJB搭建指南_第2张图片
添加依赖

2. 编写SessionBean

Intellij + EJB搭建指南_第3张图片
项目结构

3. 启动配置

我们使用JBoss运行项目,将原有的Tomcat配置删除,选择创建JBoss Server / Local


Intellij + EJB搭建指南_第4张图片
创建JBossServer

此时我们需要将artifacts放置到JBoss上进行以部署。直接点击Fix即可


Intellij + EJB搭建指南_第5张图片
添加Artifacts

4. 运行

以下输出标记Bean的路径

java:global/Hello_war_exploded/HelloEJB!daoservice.HelloService
java:app/Hello_war_exploded/HelloEJB!daoservice.HelloService
java:module/HelloEJB!daoservice.HelloService
java:jboss/exported/Hello_war_exploded/HelloEJB!daoservice.HelloService
java:global/Hello_war_exploded/HelloEJB
java:app/Hello_war_exploded/HelloEJB
java:module/HelloEJB
Intellij + EJB搭建指南_第6张图片
控制台输出

在浏览器中输入 http://localhost:8080/ 可以看到wildfly界面

Intellij + EJB搭建指南_第7张图片
输入localhost:8080

此时JBoss即运行成功了

前端搭建

项目创建

前端使用Servlet + EJB,创建过程同上


Intellij + EJB搭建指南_第8张图片
创建

项目配置

JNDI Remote Client 需要 jboss-client.jar , 此jar包在{$WILDFLY_HOME}/bin/client下


Intellij + EJB搭建指南_第9张图片
jboss-client.jar

将上面的 javax.ejb-api-3.2.jar与jboss-client.jar添加到HelloUI的library中(要使用ProjectStructure加入库中或者右键:Add As Library)

Servlet编写

将Hello工程中的EJB接口拷贝至HelloUI工程。(最好包名不要修改)
jndiPath 编写: 运行JBoss后的输出中含有app:/----
参考 http://share.zhbor.com/article/18176.html

jndiPath = "ejb:" + 
                    appName + "/" + 
                    moduleName + "/" + /*服务器上.war包或.jar包的名字*/
                    distinctName + "/" +  
                    beanName + "!" + viewClassName + "?stateful" /*Bean Name*/
Intellij + EJB搭建指南_第10张图片
page10.png

EJB配置文件编写

在 src 文件夹下创建 jboss-ejb-client.properties

endpoint.name=client-endpoint
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default
remote.connection.default.host=localhost
remote.connection.default.port=8080
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.default.username=JBOSS账号
remote.connection.default.password=JBOSS密码

此处,port 是 8080, 如果是 JBoss7 则为4447
至于Jboss账号密码设置:

使用命令行进入wildfly 安装目录下的 bin 文件夹
执行 ./add-user.sh (Win下是.bat)

运行

注意:tomcat 默认端口也是8080,我将其改成了8888


Intellij + EJB搭建指南_第11张图片
结果

你可能感兴趣的:(Intellij + EJB搭建指南)