使用IDEA和WildFly搭建EJB服务

我也不知道为什么有这迷之需求

但是有这种需求就要试做一波

前期的准备工作

下载Wildfly
网址 http://wildfly.org/downloads/
在这里我选择了这个

使用IDEA和WildFly搭建EJB服务_第1张图片
Wildfly

下载解压


使用IDEA和WildFly搭建EJB服务_第2张图片
解压到目录

建立服务端

打开IDEA,写文章时候我使用的IDEA版本是2018.1.6 Ultimate版,JDK版本是1.8

勾选Web Application和EJB


使用IDEA和WildFly搭建EJB服务_第3张图片
image.png

使用IDEA和WildFly搭建EJB服务_第4张图片
image.png

Library那里选择Create选中wildfly目录下的jboss-modules.jar

取个名然后finish

创建一个接口类


使用IDEA和WildFly搭建EJB服务_第5张图片
image.png

创建一个Stateless Session Bean
很大可能会这样


使用IDEA和WildFly搭建EJB服务_第6张图片
image.png

然后解决方法就emmm(这么粗暴真的好嘛)


使用IDEA和WildFly搭建EJB服务_第7张图片
image.png

使用IDEA和WildFly搭建EJB服务_第8张图片
image.png

OK然后我们写一点东西

代码像这样

package test;

import javax.ejb.Remote;

@javax.ejb.Stateless(name = "HelloBeanEJB")
@Remote(Hello.class)
public class HelloBeanBean implements Hello {
    public HelloBeanBean() {
    }

    @Override
    public String say() {
        return "Hello World";
    }
}

在Run菜单里面找到Edit Confgure

使用IDEA和WildFly搭建EJB服务_第9张图片
image.png

使用IDEA和WildFly搭建EJB服务_第10张图片
image.png

运行一哈如果看到控制台里面有这些,基本上可以了


使用IDEA和WildFly搭建EJB服务_第11张图片
image.png

编写客户端

需要新建一个工程

把wildfly目录下的\bin\client\jboss-client.jar拷贝到项目的lib目录下然后Add as Library

将Hello.java复制过来,注意要保证包名一致

使用IDEA和WildFly搭建EJB服务_第12张图片
image.png

在src目录下建立jboss-ejb-client.properties
输入

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

新建一个类

import test.Hello;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Hashtable;

public class Main {
    public static void main(String[] args) {
        final Hashtable jndiProperties = new Hashtable<>();
        jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
        try {
            final Context context = new InitialContext(jndiProperties);
            Hello hello = (Hello) context.lookup("ejb:/Server_war_exploded/HelloBeanEJB!test.Hello");
            System.out.println(hello.say());
        } catch (NamingException e) {
            e.printStackTrace();
        }
    }
}

运行


使用IDEA和WildFly搭建EJB服务_第13张图片
image.png

看到预期输出,完成环境搭建

你可能感兴趣的:(使用IDEA和WildFly搭建EJB服务)