搭建EJB3开发环境
开发工具:myeclipse8.5、ant
jdk:1.5
容器:jboss4.2.3
1、安装jboss:解压、配置JBOSS_HOME环境变量
2、测试安装是否成功:启动%JBOSS_HOME%\bin\run.bat,访问http://localhost:8080

3、开发EJB3
a 接口:interface HelloWorld
b 实现类:class HelloWorldBean implements HelloWorld
c 在实现类上加上注解:
//无状态session bean
@Stateless
//远程bean
@Remote(HelloWorld.class)
4、export导出jar文件,放到%JBOSS_HOME%\server\default\deploy目录,启动jboss,测试远程EJBHelloWorldBean ,客户端代码如下:
public class EJBClient {
public static void main(String[] args) {
// Properties props = new Properties();
// props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
// props.setProperty("java.naming.provider.url", "localhost:1099");
try {
// InitialContext ctx = new InitialContext(props);
//通过属性文件jndi.properties设置jndi信息
InitialContext ctx = new InitialContext();
HelloWorld helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
System.out.println(helloWorld);
UserDTO dto = helloWorld.sayHello("wsc");
System.out.println(dto.getUsername());
} catch (NamingException e) {
e.printStackTrace();
}
}
}
其中jndi.properties内容如下:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099

可以通过jboss的管理界面,查看HelloWorldBean这个ejb是否发布成功:

5、为了实现EJB开发的快速发布测试,这里引入了ant构建脚本,实现自动的发布。build.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="helloworld" basedir=".">
<property name="src.dir" value="${basedir}\src"></property>
<property environment="env"></property>
<property name="jboss.home" value="${env.JBOSS_HOME}"></property>
<property name="jboss.server.config" value="default"></property>
<property name="build.dir" value="${basedir}\build"></property> <path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar"/>
</fileset>
<pathelement location="${build.dir}"/>
</path> <target name="echotest" description="测试环境变量是否正确">
<echo>${env.JBOSS_HOME}</echo>
</target> <target name="prepare">
<delete dir="${build.dir}"></delete>
<mkdir dir="${build.dir}"/>
</target> <target name="compile" depends="prepare" description="编译">
<javac srcdir="${src.dir}" destdir="${build.dir}">
<classpath refid="build.classpath"></classpath>
</javac>
</target> <target name="ejbjar" depends="compile" description="创建ejb发布包">
<jar destfile="${basedir}\${ant.project.name}.jar">
<fileset dir="${build.dir}">
<include name="**/*.class"/>
</fileset>
</jar>
</target> <target name="deploy" depends="ejbjar,undeploy" description="发布ejb包">
<copy file="${basedir}\${ant.project.name}.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy"></copy>
</target> <target name="undeploy" description="卸载ejb包">
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"></delete>
</target>
</project>
6、附项目的整体目录结构如下:

7、感谢传智播客老师的精彩讲解和分享。。。
搭建EJB3开发环境的更多相关文章
- 自定义搭建PHP开发环境
学习了一段时间php了,因为之前是刚接触php,所以用的是集成安装包(wamp).现在想进一步了解apache.mysql.php之间的关系以及提升自己所以进行自定义搭建PHP开发环境.废话不多说,请 ...
- 使用virtualenv搭建python3开发环境
问题描述 环境: CentOS6.5 想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本. 之前的做法是直接从源码安装python3,替换掉现有的开发环 ...
- Windows下搭建PHP开发环境
PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...
- 搭建Android开发环境附图详解+模拟器安装(JDK+Eclipse+SDK+ADT)
——搭建android开发环境的方式有多种,比如:JDK+Eclipse+SDK+ADT或者JDK+Eclipse+捆绑好的AndroidSDK或者Android Studio. Google 决定将 ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- mac 下 用 glfw3 搭建opengl开发环境
mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...
- 在Eclipse下搭建Android开发环境教程
我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...
- 第二章 搭建Android开发环境
这一章为我们讲解了如何搭建Android开发环境. 首先要了解的是Android底层开发需要哪些工具:搭建android应用程序开发环境.android NDK开发环境和交叉编译环境,前两个用来测试L ...
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
随机推荐
- [转载]SoapUI 参数化&数据库连接
引用自 : http://www.cnblogs.com/liulinghua90/p/4954045.html 如果是没有代码能力的小白,要利用工具进行接口测试的时候,经常会遇到接口地址 或者接口参 ...
- Mybatis 学习-1
本次MyBatis基础实例教程主要讲述MyBatis在项目中的配置方法,实体对象的关系映射.关联关系,以及如何实现一个BaseDao的功能 实例数据库的表结构 CREATE TABLE `blog_u ...
- order by与索引
ORDER BY 通常会有两种实现方法,一个是利用有序索引自动实现,也就是说利用有序索引的有序性就不再另做排序操作了.另一个是把结果选好之后再排序. 用有序索引这种,当然是最快的,不过有一些限制条件, ...
- IE中JavaScript 的异常处理
错误类型 编程中我们会遇到四种错误:编译错误.逻辑错误.输入/验证错误.运行时错误,但是在JavaScript中我们只能最后两种错误. JavaScript 1.5定义了六种错误类型: EvalErr ...
- URL和搜索引擎优化
URL要短:谷歌的算法是给5个以后的单词更少的权重 URL不含和少含问号:防止死循环 小写字母:搜索引擎遵守HTTP规范,区分大小写.
- input[type=text]点击之后无边框, 一进页面就显示光标
1.input[type=text]点击之后无边框 :outline:none; 2. 一进页面就显示光标: <script Language="javascript"> ...
- JDE910笔记2--OMW项目建立及简单使用[转]
1.打开JDE的OBJECT MANAGEMENT WORKBENCH.在工作区中选择ADD,建立项目并选择OMW PROJECT,添加相关信息,如下图所示 其中,ProjectID可以对应不同的数据 ...
- 使用ASP.Net WebAPI构建REST服务(六)——Self-Host
Asp.Net WebAPI生成的是一个程序集,并不是独立的进程,因此,要运行的时候必须将其承载在相应的宿主上,一般比较常见的是IIS承载.很多时候,我们为了简化部署或者功能集成,需要将其承载到独立的 ...
- Android Support ;v4、v7、v13的区别
google提供了Android Support Library package系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如fra ...
- iOS 下如果存在UIScrollerView 使用UIScreenEdgePanGestureRecognizer实现侧滑效果失效的问题
当你在使用UIScreenEdgePanGestureRecognizer手势实现侧滑的时候,如果后期你导航控制器push出的界面中包含UIScrollerView,这个时候你会发现,侧滑效果无法实现 ...