美文网首页Java
在Eclipse中开发第一个EJB程序

在Eclipse中开发第一个EJB程序

作者: ac5298ace101 | 来源:发表于2019-08-09 20:59 被阅读2次

EJB要部署在JBoss上,所以需要提前安装JBoss Tool工具(其实你也可以不安装该插件,但是现在我还没有探索出不安装插件的方法)

如果没有安装JBoss Tool插件的话这篇文章可以帮到你

Jboss Tool在Eclipse中的安装

1,编写服务端项目。

首先默认你的Eclipse已经安装了JBoss Tool插件,并且可以成功启动JBoss。

编写服务端

File->New->Other->在Wizards搜索EJB ->选择EJB Project

Next

项目名称是【Server】

EJB选择3.0版本。其实3.1也没事

点击finish

2,编写无状态bean

在Server文件夹中找到ejbModuule

右击新建EJB(Session Bean)

弹出新建立的窗口,填入以下信息

Java Package【com.ejb.calculator】

Class Name【Calculator】

选择【Stateless】(一定选择无状态,有状态会有变化)

选择【Remote】远程bean

完成之后一个接口CalculatorRemote,一个类Calculator

在接口增加一个方法:求和运算

接口

在子类中进行实现

子类

3,将编写的ejb发布到JBoss服务器中

右键项目

如果出现以下信息表示ejb项目部署成功

但是在部署的时候并不顺利,可能出现以下错误信息


java.lang.UnsupportedClassVersionError: com/ejb/calculator/Calculator : Unsupported major.minor version 52.0

表示你的项目编译用的JDK1.8,但是你在JBoss运行时用的是JDK 1.7。所以会出现以下错误信息。

解决方案是在右键项目Properties,将Java Complier的Compiler compliance lever改为1.7

重新右键项目Run on server

好了如果没有出现错误信息,则表示已经成功部署在JBoss服务器上

3,编写客户端项目

新建立一个普通的Java Project

取名字为EJBClient,在src目录下建立com.ejb包,建立Client类

a,添加Server项目到classpath

右键EJBClient项目,点击Build Path->Configure Builder Path->Project

将Server的工程添加到类路径

然后OK就可以了

b,将JBoss中的jboss-client.jar包含进来

点libraries->Add External JARs选择你的JBoss Client的目录

我的是在D:\JBoss\jboss-as-7.1.1.Final\bin\client

4,在CLient.java中写测试函数


public class Client {

public static void main(String[] args) {

Properties jndiProperties = new Properties();

jndiProperties.put("jboss.naming.client.ejb.context", true);

jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

try {

Context context = new InitialContext(jndiProperties);

final String appName = "";

final String moduleName = "Server";

final String distinctName = "";

final String beanName = Calculator.class.getSimpleName();

final String interfaceName = CalculatorRemote.class.getName();

Object obj = context.lookup(

"ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + interfaceName);

System.out.println(obj);

CalculatorRemote hwr = (CalculatorRemote) obj;

System.out.println(hwr.getClass());

int res = hwr.add(1, 3);

System.out.println(res);

} catch (NamingException e) {

e.printStackTrace();

}

}

}

将jboss-ejb-client.properties文件写入src目录中(注意文件名字只能是这个,否则不能识别,还是加入src目录其实已经自动加入类路劲中)

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false

remote.connections=default

remote.connection.default.host=localhost

remote.connection.default.port = 4447

remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

5,启动Client

Run As->Java Application

出现以下信息就证明已经测试成功。

相关文章

网友评论

    本文标题:在Eclipse中开发第一个EJB程序

    本文链接:https://www.haomeiwen.com/subject/fgtgdctx.html