EJB学习一 Ejb介绍与环境搭建(JBoss的安装以及JBoss启动报错IllegalArgumentException的解决)
2013-12-10 22:15
639 查看
公司中要用到EJB,开始恶补,从网上找了很多资料,发现只有几个很适合入门
一个是EJB3.0实例教程下载
还有一个是传智播客的视频,这里提供EJB视频下载
不想看视频的人,可以根据我的blog进行学习,这几天学EJB,比较紧张,哦也是一只菜鸟,努力更新...我会把每天的学习尽量更新到blog中
EJB3.0企业开发
EJB(Enterprice JavaBeans)是一个用于分布式业务应用的标准服务端组件模型。在实际开发中,主要是针对于业务层的开发。在JavaBean中,我们需要手动进行事务管理,安全服务的编写;而EJB为我们提供的事务管理/安全/持久化等,是由容器提供,无需我们自行开发,大大减少了我们的开发量,提高开发效率。
spring+hibernate同样提供了事务管理/持久化等服务,并且很多服务比起ejb更加细致。但ejb主要是用于分布式场合的,而Spring不是针对分布式开发,偏重点不一样。ejb更加适合于大型企业,多个存在相互关联的信息系统中,为了避免业务功能的重复开发,实现最大程度的重用,有必要将业务层独立出来,让多个信息系统共享一个业务中心,这样应用就需要具有分布式能力。
EJB3.0分布式特点
EJB实际上就是将业务逻辑层单独抽取出来,从而实现代码的复用,方便后期维护
例如:两个系统中存在同样的功能,当功能需要发生改变的时候,我们只需要更改公用的业务层即可,方便程序的维护
EJB3.0运行环境
1.首先必不可少的是jdk,需要jdk1.5以上版本
1.1 下载jdk,解压安装之后,配置jdk环境变量JAVA_HOME
在环境变量配置中添加JAVA_HOME变量,值为JDK的安装路径,如:E:\classpath\jdk1.7.0_15
1.2 配置CLASSPATH
在CLASSPATH中添加 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意是".;",英文中的句号)
1.3 在PATH的选项中,末尾添加 ;%JAVA_HOME%\bin;
2.安装JBOSS服务器
下载地址http://sourceforge.net/projects/jboss/files/JBoss/
jboss-5.1.0.GA-jdk6.zip直接解压即可。(注意:不要中文目录,不要有空格,否则会报各种莫名其妙的错误)
配置环境变量,添加JBOSS_HOME变量,值为Jboss的安装路径
为了方便后期输入jboss的命令,将jboss的bin目录添加到系统路径中。即在环境变量Path后面追加 ;%JBOSS_HOME%\bin;
验证是否安装成功:
方式一:DOS命令窗口移动到E:\javaexe\jboss-eclipse\jboss-5.1.0.GA\bin\ 编写run -c all
方式二:直接到E:\javaexe\jboss-eclipse\jboss-5.1.0.GA\bin目录下,双击运行run.bat
当运行结果中无例外(都是info),并且出现如下提示
时,在浏览器中访问localhost:8080(默认为8080端口),出现
表示启动成功。
但是,我的JBoss5.1出现如下错误IllegalArgumentException
解决方法:
找到: jboss-5.1.0.GA\server\default\conf\bootstrap,打开文件 profile.xml
在文件中找到:
修改为
重启JBoss即可
环境搭建完成!!
另:
EJB的三种bean
1.会话bean(session bean)
负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作
2.实体bean(entity bean)
它实际属于java持久化规范(简称JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink的那个ORM框架各自为营的局面
3.消息驱动bean(message-driven bean)
专门用于异步处理Java消息的组件,具有处理大量并发消息的能力
一个是EJB3.0实例教程下载
还有一个是传智播客的视频,这里提供EJB视频下载
不想看视频的人,可以根据我的blog进行学习,这几天学EJB,比较紧张,哦也是一只菜鸟,努力更新...我会把每天的学习尽量更新到blog中
EJB3.0企业开发
EJB(Enterprice JavaBeans)是一个用于分布式业务应用的标准服务端组件模型。在实际开发中,主要是针对于业务层的开发。在JavaBean中,我们需要手动进行事务管理,安全服务的编写;而EJB为我们提供的事务管理/安全/持久化等,是由容器提供,无需我们自行开发,大大减少了我们的开发量,提高开发效率。
spring+hibernate同样提供了事务管理/持久化等服务,并且很多服务比起ejb更加细致。但ejb主要是用于分布式场合的,而Spring不是针对分布式开发,偏重点不一样。ejb更加适合于大型企业,多个存在相互关联的信息系统中,为了避免业务功能的重复开发,实现最大程度的重用,有必要将业务层独立出来,让多个信息系统共享一个业务中心,这样应用就需要具有分布式能力。
EJB3.0分布式特点
EJB实际上就是将业务逻辑层单独抽取出来,从而实现代码的复用,方便后期维护
例如:两个系统中存在同样的功能,当功能需要发生改变的时候,我们只需要更改公用的业务层即可,方便程序的维护
EJB3.0运行环境
1.首先必不可少的是jdk,需要jdk1.5以上版本
1.1 下载jdk,解压安装之后,配置jdk环境变量JAVA_HOME
在环境变量配置中添加JAVA_HOME变量,值为JDK的安装路径,如:E:\classpath\jdk1.7.0_15
1.2 配置CLASSPATH
在CLASSPATH中添加 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意是".;",英文中的句号)
1.3 在PATH的选项中,末尾添加 ;%JAVA_HOME%\bin;
2.安装JBOSS服务器
下载地址http://sourceforge.net/projects/jboss/files/JBoss/
jboss-5.1.0.GA-jdk6.zip直接解压即可。(注意:不要中文目录,不要有空格,否则会报各种莫名其妙的错误)
配置环境变量,添加JBOSS_HOME变量,值为Jboss的安装路径
为了方便后期输入jboss的命令,将jboss的bin目录添加到系统路径中。即在环境变量Path后面追加 ;%JBOSS_HOME%\bin;
验证是否安装成功:
方式一:DOS命令窗口移动到E:\javaexe\jboss-eclipse\jboss-5.1.0.GA\bin\ 编写run -c all
方式二:直接到E:\javaexe\jboss-eclipse\jboss-5.1.0.GA\bin目录下,双击运行run.bat
当运行结果中无例外(都是info),并且出现如下提示
时,在浏览器中访问localhost:8080(默认为8080端口),出现
表示启动成功。
但是,我的JBoss5.1出现如下错误IllegalArgumentException
ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.] Constructor expected=[java.net.URI] actual=[java.io.File] ....
解决方法:
找到: jboss-5.1.0.GA\server\default\conf\bootstrap,打开文件 profile.xml
在文件中找到:
<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore"> <constructor><parameter> <inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter> </constructor>
修改为
<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore"> <constructor><parameter class="java.io.File"> <inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter> </constructor>
重启JBoss即可
环境搭建完成!!
另:
EJB的三种bean
1.会话bean(session bean)
负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作
2.实体bean(entity bean)
它实际属于java持久化规范(简称JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink的那个ORM框架各自为营的局面
3.消息驱动bean(message-driven bean)
专门用于异步处理Java消息的组件,具有处理大量并发消息的能力
相关文章推荐
- WP7入门篇(三)编程环境搭建以及相关学习资源(解决安装问题篇)
- Python数据挖掘学习--01基本模块介绍以及环境安装
- (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
- PHP环境搭建以及解决wampapache服务启动不了的问题
- 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
- PHP环境搭建以及解决wampapache服务启动不了的问题
- 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
- (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
- 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
- 学习PC裸机汇编输出HelloWorld环境搭建和解决启动镜像问题
- (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
- (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
- Android开发环境搭建和项目各文件介绍应用安装和启动过程
- 基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之一)——介绍、安装准备、安装、config文件以及运行脚本介绍
- (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
- centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.default,p.conf} php运行方式SAPI介绍 第二十三节课
- 机器学习实战python环境搭建以及numpy和matplotlib安装遇到的各种问题(一)
- 工作流Activiti的学习总结(一)安装条件以及各步骤的作用以及不同环境需要lib包
- 搭建PHP环境并安装Piwik程序、介绍扩展热安装的方法
- Django学习02---开发环境安装以及hello django编写