JBOSS EAP 6 系列一 新特性
在项目中,采用的架构是Springmvc+spring+EJB+Jpa等架构,当然服务器是Jboss,本次Jboss我们采用的是JBossEap6.2,Jboss7的新特性与Jboss4、5的大的改变是:
模块申明式容器
JBOSS EAP不再有lib的概念,一切都是module。无论是系统调用的lib,用户编制的lib,或者应用程序引用到的第三方lib都以模块的方式构建起来,并在使用的地方申明具体使用了哪个模块。这就带来两个好处,
- 按官方的说法提供了一种完全的模块化的类加载系统,JBOSS会根据具体的需要来加载或者卸载类,仅仅维护当前需要使用的资源,同时只暴露实际使用的API,也增加了系统的安全性。和以往的JBOSS相比JBOSSEAP6的启动和重启相当迅速,能为我们的开发环境减少更多等待的时间。
- 由于指定应用依赖的模块,从而避免了以前容易出现的包冲突的问题。
在看配置过过数据源《Oracle数据源的配置—认识模块的使用》一文后会对模块有一个简单的认识。接着还有《EJB实现—贯穿始终的模块》一文深入介绍模块在JBoss EAP 6.2中的全貌。
JBOSS对JEE6的全面支持
(带一句,正是由于强大的JEE6促使官方与民间技术之争上的高度融合,大家谁也别再争spring or EJB,看Spring和JSR不难发现,它们已经在互相融合)
JEE6给JBOSS EAP增加的几个明显的好处包括
1. 在以上描述的模块化类加载系统避免了包冲突的基础上,JEE6对EJB 项目的严格配置也为包冲突问题提供了很好的解决方案。MANIFAST中必须指明所依赖的模块。《EJB实现—贯穿始终的模块》。
2. JNDI的全面升级,使得Bean的重名问题和客户端stub的定位都得到很好的解决:EJB JNDI名字不再可以随便自定义,EJBJNDI的全名规范:
java:global[/<app-name>]/<module-name>/<bean-name>[!<fully-quali?fied-interface-name>]
其中包含了WAR包名称app-name,JAR包名称module-name,自定义Bean名称bean-name,接口的全地址名称,还有stateful的话需要声明stateful。如: CommonDAO/UTM/Common_DAO!com.hp.ngoss.utm.commondao.CommonDAOBusiness
对EJB3.1 Jboss的客户端有两个专题的详细讲解《让人又爱又恨的EJB3.1 JNDI》和《去掉jboss-ejb-client.properties》。
3. 对Singleton Session bean的支持,每个虚拟机只提供一个实例,单例模式在应用级别的实现。
4. 提供异步方法(Asynchronous methods),EJB支持Future方式获得交互结果,提高了线程的使用率。见本系列文章:《异步Bean》
5. JPA(hibernate4)的全面支持,简化持久化层的开发工作。见本系列文章《JPA/hibernate》
6. 没有接口的Session Bean。不推荐,理由:无论是CORBA还是Web Service都没有说不要Stub的概念。类似的,EJB要能够被调用,需要知道接口,不提供接口的方式必然需要在调用的时候创建接口以及对应的输入输出参数信息,这样一来增加传输的流量开销;当然不是说完全没价值,对于服务提供对象是第三方的客户时,有时会不提供编程接口,这种情况便可以采用此方式,但通常来说服务供认者与客户是友好关系,直接提供接口给客户不违背良心。基于之前说的问题,本人不推荐使用这种方式。
7. 在动态Web项目中实现Session Bean。不太推荐使用,这个使得JEE的4层架构中的Web层与Business层的界线混淆,出于解耦的目的,不推荐使用。可能的使用场景,JBOSS自己提供的EJB只给自己的web层使用,没有分布式的场景。
8. Managed domains: 管理域组织各物理机上的虚拟服务为服务组,使得所有服务器在一个地方统一配置、统一部署。配置为同一服务组内的机器可以自动扩展,也可以在一台主机上根据不同的端口绑定来设置多个实例。Managed Domain要区别与Cluster,Cluster的主要功能是负载均衡、容灾,而Managed domain的目的主要在于统一管理。本系列八《Managed Domains》详细的介绍了一个管理域的实现,并讲解了管理域的统一配置、统一部署的特性。本系列九《Cluster负载均衡集群》介绍了JBOSS
EAP 6(JbossAS7)的集群配置方式。
最后,也是对开源产品抱怨最多的问题(乱+繁)的解决方案:EAP版有技术支持,对应用服务器的配置和相关的技术问题实在是搞不定的时候,可以找Redhat技术人员来帮忙(外网的支持)。
除以上的介绍之外还有很多别的新功能如:
对容器的多种管理方式:web页面,cli客户端,和配置文件方式对容器进行管理。比如说网上就会有两种JBOSSEAP数据源的配置方式,一种是cli端+web页面的配置,一种直接在配置文件里面配,其实效果是一样的,只不过配置文件配置的方式不会留下任何痕迹,不方便追溯。不过个人感觉在实际应用中,特别是自动部署中,还是以配置文件的方式来管理容器比较实用。
看到JBOSS EAP带来的各种好处的同时,也希望JBOSS EAP能即像WebLogic等厂商经营的应用服务器一样,提供更多专业的为开发和实施带来便利的能力(如自动升级应用)。同时也能保持开源社区的包容性和技术的多样性,更开放的尝试各种新技术,新架构,新思想。
总结
新的事物不可怕,怕的是内心的那种恐惧,新的事物、新的架构、新的思想--站在巨人肩膀之上,成长迅速!
JBOSS EAP 6 系列一 新特性的更多相关文章
- JBOSS EAP 6 系列六 公共模块的jar配置到jboss的modules详细配置
公司项目中遇到并要解决的问题 1:原则上除了自己写的代码之外,公共的jar不应该都在打包的时候打包到ear里面,这样的话包太大,也不符合的分层的逻辑,在jboss容器内部,每个ear的包重复jar都会 ...
- JBOSS EAP 6 系列四 EJB实现——调用(贯穿始终的模块)
本文主要介绍在JBOSS EAP 6.2(或者JBOSS AS7)中模块是如何贯穿EJB实现的始终.延续上一博文<认识模块的使用>的话题继续聊JBOSS做为模块申明式容器的这一特性在EJB ...
- JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用
本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式.结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性. 模块申明式容器:JBOSS EAP不再有lib的 ...
- JBOSS EAP 6 系列五 Managed domains 管理域最主要的功能是“统一部署,统一配置”
摘要 本文首先介绍Managed Domain的概念,管理域最主要的功能是"统一部署,统一配置".接下来通过一个实例在"统一配置"部分实现一个双机配置起来的域, ...
- SCCM 2012系列之新特性
SCCM 2012站点类型: 站点 作用 相对于SCCM 2007 的变化 中心管理站点The central administration site(CAS) 中心管理站点协调内部站点的数据复制.使 ...
- WebLogic Server 12c相对JBoss EAP 6的优势
原文来自:https://blogs.oracle.com/middlewareplace/entry/why_should_you_choose_oracle 1.多数据中心部署和集群 WebLog ...
- 【开源】OSharp3.3框架解说系列:重新开源及3.3版本新特性
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...
- Atitit 发帖机系列(8) 词法分析器v5 版本新特性说明)
Atitit 发帖机系列(8) 词法分析器v5 版本新特性说明) v5 增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...
- 重新想象 Windows 8.1 Store Apps (92) - 其他新特性: CoreDispatcher, 日历, 自定义锁屏系列图片
[源码下载] 重新想象 Windows 8.1 Store Apps (92) - 其他新特性: CoreDispatcher, 日历, 自定义锁屏系列图片 作者:webabcd 介绍重新想象 Win ...
随机推荐
- ABP领域层知识回顾之---工作单元
1. 前言 在上一篇博文中(http://www.cnblogs.com/xiyin/p/6842958.html) 我们讲到了ABP领域层的仓储.这边博文我们来讲 工作单元.个人觉得比较重要.文 ...
- noip2017"退役"记
day0 口胡了一下去年的六道题,感觉很稳,看了6集动漫,0点钟就去睡了. day1 早上被一阵革命练习曲吵醒,而我还是窝在被子里不想起床(-﹃-)~zZ.于是室友开始放起了lost river... ...
- bzoj 1875: [SDOI2009]HH去散步
Description HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但 是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又 ...
- Orz
OR: 说实话,感觉Virtual Judge挺好使的,至少到现在,Uva都没注册成功过QAQ,估计是校园网的问题 不得不说现在课越来越多,而且对于我们这种学校ACM才开展两年的来说,时间真的好有限, ...
- getopt_long函数使用【转】
转自:https://blog.csdn.net/cashey1991/article/details/7942809 平时在写程序时常常需要对命令行参数进行处理,当命令行参数个数较多时,如果按照顺序 ...
- 基于Android的高校饮水宝app
这是一个高校饮用水配送项目,是一个毕业设计,去年的,包括了服务端和客户端,是一个不错的项目,分享一下: 随着通讯行业的迅猛发展,我国的手机用户也在不断的增加.据信息部的统计数据显示,我国已有接近7. ...
- Linux学习之CentOS(八)----详解文件的搜寻、查找(转)
which (寻找『运行档』) [root@www ~]# which [-a] command 选项或参数: -a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称 分 ...
- android高德地图网络路径实现自定义marker并点击弹出自定义窗口
android中使用地图的地方随处可见,今天记录一下网络路径生成自定义marker,点击标记弹出自定义的窗口(在这里使用的是高德地图) 在这里我们使用Grilde去加载网络图片,因为这个简直太方便了! ...
- jquery 引号问题
varFrozenColumns="[[{'field':'CZ','title':'操作','width':80,'align':'center','formatter':function ...
- Linux 在线模拟器
最近在学习Linux的一些命令的使用,但是很久之前装的Linux虚拟机被删掉了,又不想为了练习几个命令折腾一遍虚拟机.所以,就尝试地搜了一下,看看有没有在线的Linux模拟器可以使用,只要可以练习一下 ...