JBoss AS 5 演示现场博客

发布者:    |       JBoss AS

Mark Newton 在瑞士JUG上展示了JBoss应用服务器5.0的 新特性

JBoss AS 的历史

平均发布周期为119天,共发布JBoss 3.2.x版本9个,J2EE 1.3认证,JDK 1.3。

平均发布周期为126天,共发布JBoss 4.0.x版本6个,J2EE 1.4认证,JDK 1.4。

平均发布周期为55天,共发布JBoss 4.2.x版本3个,JEE 5.0兼容实现,未认证,实现95%的功能并需要JDK 5.0。

JBoss AS 5.0.x的新独立实现

  • JBoss Messaging(替代旧的JBoss MQ)
  • JBoss 安全性
  • JBoss 联邦SSO

新内核是JBoss Microcontainer 2.0和一个配置服务,该服务负责管理现在绑定服务的POJO。目标是在2008年第一季度发布最终版本并在2007年进行CR。

JBoss Messaging 1.4

新的JMS 1.1兼容消息实现支持分布式队列和主题,以及透明故障转移和负载分配——内部使用JGroups作为传输。

集群

JBoss Cache(2.1)的新主要修订版,具有更简单的API和更注重JBoss AS之外的使用。

JBoss AOP 2.0

与微容器集成:如果您使用AOP向POJO添加行为,并部署它,则获得依赖管理——您不能在不使用方面的情况下调用POJO,它不会在方面可用之前部署。反之亦然,如果依赖的POJO尚未部署,则方面不会部署。方面可以绑定到POJO生命周期,例如,当POJO进入“已部署”状态时将代理绑定到JNDI的方面。它还有一些新的纯AOP功能:Before、After、Throwing、Finally 用于拦截。

内核做什么?

微内核需要支持服务的动态加载和卸载。为此我们需要

  • 一种部署新服务的方法
  • 一个总线,以便客户端不直接与服务通信,客户端与服务解耦

在 JBoss 3.x 和 4.x 中是如何实现的?我们使用 MBeanServer 来提供总线以及将服务加载到内核的部署器,并使用简单的依赖注入机制。MBeans 用于实现服务,并通过 XML 描述符配置,在部署时将属性值注入到 MBeans 中。XMBean 是特殊的 MBeans,允许您向 MBean 添加方法拦截。调用通过总线传递,并通过通用invoke(method, arguments, argumentTypes)操作进行拦截。

出于性能考虑,总线实际上并未得到充分利用:服务引用会直接在注册表中查找。因此,拦截器没有被使用。

JBoss JMX 微内核的不足之处是什么

  • JMX 有限制,生命周期和类加载存在问题
  • 您无法在 Java ME 上运行 JMX
  • 您实际上需要知道如何实现 MBeans
  • 如果您通过引用直接访问服务,则不会应用拦截器

JBoss AS 5.x 的设计目标

服务应该是 POJO,行为应通过 AOP 添加 - 有效复制 JMX 微内核的所有功能。大大改进了依赖注入和类加载。分层且易于扩展的设计(没有对 JBoss 类的引用),应该可以在没有 JBoss AS 的情况下使用。

该内核的新名称是 Microcontainer

微容器的核心是 ContainerKernelDependency。行为通过 JBoss AOP 添加。

内核:提供总线、注册表和事件管理器。

容器:POJO 的包装器,AOP 联合点和实际服务实现 POJO 的反射。

依赖:基本上是一个管理服务依赖关系的抽象状态机。

核心之上的可选包:OSGI 集成、Guice 集成。

创建服务

使用<bean><property>声明在jboss-beans.xml(替代旧的 jboss-service.xml)。Bean 有一个名称和一个类,属性支持通过(其他)Bean 名称的引用进行注入。

使用<aop:aspect>命名空间和元素以及切入点表达式添加行为。您还可以将方面/切入点提取到单独的文件中。

配置服务

POJO 的管理系统,而不是基于编辑 XML 文件的旧 JMX 基于的管理,人们会通过将这些文件保存在 CVS 中来管理配置。Web 控制台只支持更改内存中的运行时值,不会将这些值写回文件中。

我们想要

  • 集中维护,例如,所有、最小、默认等配置文件
  • 跨服务器重启持久化对配置文件所做的更改
  • 跨集群传播配置文件更改
  • 配置文件版本控制

实现类似于 JDK 6 Open MBeans 规范:部署有一个受管理对象的集合,您可以通过在服务中添加注解来定义它们,例如。@ManagedOperation(description="您可以更改的设置")

摘要

  • JBoss AS 5.0 基于微容器和 POJO 以及 AOP 具有全新的架构
  • 通过添加配置文件服务改善了管理
  • 集群和安全得到了很大增强
  • 它将完全符合 Java EE 5.0

返回顶部