1. 什么是J2EE?
J2EE是Java 2enterprise edition,是Java的一种企业版,用于企业级的应用服务开发。
J2SE是Java 2standard edition,是Java的标准版,用于标准的应用开发。
J2ME是Java 2Micro Edition,是Java的微型版,常用于手机上的开发。
J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。
J2EE核心是一组技术规范与指南,J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成。
RMI/IIOP:远程方法调用internet对象请求中介协议,他们主要用于通过远程调用服务。RMI是JAVA特有的。
JNDI:JAVA命名目录服务。
JMS:JAVA消息服务。
JAVAMAIL:JAVA邮件服务。
JTA:JAVA事务服务。
JAF:JAVA安全认证框架。
EAI:企业应用集成。
2. Jboss7新特性
-
构建在Modular Service Container上,充分地利用了多核处理器的能力,并发、按需启动服务,启动速度更快、占用内存更小。
-
全面兼容Java EE6
-
支持JDK6/7
-
统一的配置和管理
-
兼容OSGI 4.2,支持OSGI和Java EE组件模型集成。
-
容易测试:利用Arquillian测试平台—一种集成测试组件模型,更易于测试,改变-编译-测试的周期更短。
-
两种模式
-
Standalone模式(使用standalone.bat启动)相当于以前的3、4、5、6版本。配置文件、发布内容等放在standalone目录下。
-
Domain模式(使用domain.bat启动)是Jboss7的一个新特征,可以在一个控制点管理多个服务器。域的提出及实现,其目的是使得多台JBoss AS服务器的配置可以集中于一点,统一配置、统一部署,从而在管理多台JBossAS服务器时,实现集中管理。
-
类加载
类加载基于Jboss Module,取代了层次类加载环境,避免了当类存在多个版本时,导致类加载错误。由于类加载是基于模块的,必须显示的定义模块依赖。部署也是模块化的,如果没有显示的定义类依赖则不能访问应用服务器jar中的类。
3. 迁移步骤
在Jboss7部署项目与在jboss5上有很大区别,最主要原因是由于类的加载模式改变了。Jboss5部署相对简单,只需将相应的包部署到lib和deploy目录即可,类加载器会按层次自动加载,不用配置依赖关系。而jboss7完全不一样,jboss7是按模块化加载,不同模块由不同类加载器加载,其他模块的jar包,对其是不可见的,这时需要手动配置包之间依赖关系,否则会报ClassNotFoundException等错误。另外对于数据源和JNDI的配置也发生了变