Intellij + EJB搭建指南

综合编程 2018-01-04 阅读原文

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

逻辑服务搭建:

back3.png

1. 所需文件

后端构建

1. 创建项目

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

创建项目

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

添加依赖

2. 编写SessionBean

项目结构

3. 启动配置

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

创建JBossServer

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

添加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

控制台输出

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

输入localhost:8080

此时JBoss即运行成功了

前端搭建

项目创建

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

创建

项目配置

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

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*/

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

结果

简书

责编内容by:简书阅读原文】。感谢您的支持!

您可能感兴趣的

How do I access EJB implementing a remote interfac... I am using Netbeans 6.8 and Glassfish v3.0. I created an ejb module and created entity classes from database and then ...
JBoss Security Issue Saving the user password (server side), linking it to a cookie - security issues I'm trying to fin...
This week in JBoss (29th November 2018): Wait, wha... The last editorial was focused on the "breaking news" of the day. Even if the dust has far from settled on thi...
How I Chained 4 Bugs(Features?) into RCE on Amazon... Hi! This is the case study in my Black Hat USA 2018 and DEFCON 26 talk, you can also check slides here: Breakin...
EJB系列(三)——EJB事务管理  首先EJB Session Bean从功能大可分为两类: 1、 Dao:用于封装底层的实体和JPA,访问实体,可称为EAO对象(Entity Acces...