WEB开发网
开发学院软件开发Java 使您的应用程序调用我的应用程序,第 3 部分: 资源... 阅读

使您的应用程序调用我的应用程序,第 3 部分: 资源适配器

 2010-03-19 00:00:00 来源:WEB开发网   
核心提示: 让我们来看看这些契约定义的基本接口和适配器实现,生命周期管理契约生命周期管理契约为一个资源适配器定义了一组生命周期方法,使您的应用程序调用我的应用程序,第 3 部分: 资源适配器(9),J2EE 应用服务器在各种事件上调用这些方法,如适配器部署、服务器宕机等等,endpointDeactivat

让我们来看看这些契约定义的基本接口和适配器实现。

生命周期管理契约

生命周期管理契约为一个资源适配器定义了一组生命周期方法。J2EE 应用服务器在各种事件上调用这些方法,如适配器部署、服务器宕机等等。

ResourceAdapter 接口

资源适配器将 javax.resource.spi.ResourceAdapter 接口作为 Java bean 实现,在描述符(ra.xml)中指定实现类名。

ResourceAdapter 中定义的各生命周期方法包括:

start(BootstrapContext):在部署资源适配器或应用服务器启动时,应用服务器调用 start 方法。资源适配器可从 BootstrapContext 获得 WorkManager,在 start 方法中启动工作或在激活端点时其工作。本例中的消息端点是一个使用来自资源适配器的消息的应用服务器。

stop():stop 方法将在适配器被解除部署或应用服务器宕机期间被调用。

endpointActivation():应用服务器在消息端点被激活(例如,初始化了一个 MDB 时)时调用此方法。

endpointDeactivation():应用服务器在消息端点停用时调用此方法。

examples.po.adapter.spi.JamesResourceAdapter 实现 ResourceAdapter 接口中定义的所有生命周期方法,如 清单 1 所示。

清单 1. JamesResourceAdapter 片段

public JamesResourceAdapter() { 
 super(); 
 } 
 
 public void start(BootstrapContext arg0) 
  throws ResourceAdapterInternalException { 
 ilog("In start()"); 
 workMgr = arg0.getWorkManager(); 
 } 
 
 public void stop() { 
 ilog("In stop()"); 
 } 
 
 public void endpointActivation(MessageEndpointFactory arg0, 
  ActivationSpec arg1) throws ResourceException { 
 ilog("In endpointActivation"); 
 
emailWork = new JamesWork(emailSpec.getEmailUser(), 
 emailSpec 
 .getEmailPassword(),  
 emailSpec.getEmailHost(), 
 arg0); 
 
 //starts polling the email inbox 
    workMgr.startWork(emailWork); 
 } 
 
 public void endpointDeactivation(MessageEndpointFactory arg0, 
  ActivationSpec arg1) { 
  
 //stops polling email inbox 
emailWork.release(); 
 } 

上一页  4 5 6 7 8 9 10  下一页

Tags:应用程序 调用 应用程序

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