WEB开发网
开发学院软件开发Java Roland Barcia 的<提示>: 检验 EJB 3.0 简化 API ... 阅读

Roland Barcia 的<提示>: 检验 EJB 3.0 简化 API 规范

 2009-10-23 00:00:00 来源:WEB开发网   
核心提示: 现在通过注解来处理回调功能,这里有两种机制:回调方法和回调侦听器类,Roland Barcia 的<提示>: 检验 EJB 3.0 简化 API 规范(4),下面是一个用户如何使用回调方法编写代码来对回调操作做出反应的实例:@StatelesspublicclassStockBean

现在通过注解来处理回调功能。这里有两种机制:回调方法和回调侦听器类。下面是一个用户如何使用回调方法编写代码来对回调操作做出反应的实例:

@Stateless public class StockBean implements Stock 
 public double getQuote(String symbol) 
 { 
 return 100.33; 
 } 
 @PostConstruct initializeCache() 
 { 
 } 
}

以上代码可以使您在创建 bean 实例后实现代码。如果我想要使用回调侦听器,那么我应该创建一个回调侦听器类:

public class MyCallbackListener 
{ 
 @PrePassivate public clearCache(Object obj) 
 { 
 Stock stock = (Stock) obj; 
 //perform logic 
 } 
}

回调类并不是 Bean 类的一部分,它必须包括 java.lang.Object 参数。那么容器就会传送该 bean 实例。Bean 类通过使用 Bean 类级别上的特定回调注解来添加回调侦听器:

@CallbackListener MyCallbackListener 
@Stateless public class StockBean implements Stock 
 public double getQuote(String symbol) 
 { 
 return 100.33; 
 } 
}

回调功能是很精密的,这是因为在您的代码中包含它们是有条件的,而不像您实现接口时的那种情况。通过添加带有空回调的特定抽象类同样可以完成该操作。在规范的附录 A 中,提到了为那些希望继续使用 EJB 2.x 开发方式的开发着而提供的特定基类。

拦截器

EJB 规范中新添的一个细致功能就是拦截器的使用。可以进行预/后处理的能力已经从 EJB 组件中消失,这点与 servlet 过滤器对 servlet 的操作类似。开发者可以开发拦截器类,并且将其应用到 bean。以下是拦截器审查 StockBean 类的调用的实例:

上一页  1 2 3 4 5 6  下一页

Tags:Roland Barcia lt

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接