WEB开发网
开发学院软件开发Java 使用 AIDE 实现高效率,第 4 部分: 接触点通知与简... 阅读

使用 AIDE 实现高效率,第 4 部分: 接触点通知与简单管理器

 2010-04-06 00:00:00 来源:WEB开发网   
核心提示: 清单 3 中的控制台输出显示了代理代码的使用,在 WeatherStationEventConsumer_testRemote.java 程序中,使用 AIDE 实现高效率,第 4 部分: 接触点通知与简单管理器(10),进行以下操作:为 WeatherStation 接触点创建 Endpoin

清单 3 中的控制台输出显示了代理代码的使用。在 WeatherStationEventConsumer_testRemote.java 程序中,进行以下操作:

为 WeatherStation 接触点创建 EndpointReference 实例。

为 EventConsumer 接触点创建 EndpointReference 实例。

订阅 WeatherStation 的 OperationalStatus 属性。

调用 WeatherStation 的 kickme() 方法。

调用 WeatherStation 的 recalibrate() 方法。

接收通知(在清单 3 中以粗体文本显示)。

调用 recalibrate() 方法将导致 OperationalStatus 的值从 Available 更改为 Unavailable。这将反过来导致 WeatherStation 发出一个通知消息。EventConsumer 接触点在步骤 6 中接收通知。正如您所知,此通知是由前面在清单 1 中看到的代码发出的。

10 秒钟过后,WeatherStation 接触点将 OperationalStatus 值从 Unavailable 更改回 Available,而这将导致 WeatherStation 发出第二个通知,如清单 3 底部所示。EventConsumer 接触点如何处理这些通知是设计问题。我将在本教程稍后讨论这个问题,不过此处请注意,EventConsumer 接触点可能根据通知采取一些直接行动。例如,它可以向网络管理员发送电子邮件。或者,可以调用另一个接触点,以尝试获得有关为何出现该通知的更多信息(后者通常成为根源分析)。

使用代理代码非常方便!它可以非常好地包装和利用两个接触点的功能。现在让我们看看清单 4 中的代理代码。

清单 4. 代理代码摘录

// Create WeatherStation resource and proxy for it. 
String strWSEndpoint = (args.length == 0) ? DEFAULT_FACTORY_SOAP_ENDPOINT_WS : args[0]; 
URI uriWSCreate = new URI(strWSEndpoint); 
EndpointReference eprWSFactory = new EndpointReference(uriWSCreate); 
ResourceCreationProxy WSFactory = new ResourceCreationProxy(eprWSFactory); 
EndpointReference eprWSRes = WSFactory.create("WeatherStation"); 
WeatherStationProxy WSTouchpoint = new WeatherStationProxy(eprWSRes); 
 
// Create EventConsumer resource and proxy for it. 
String strECEndpoint = (args.length == 0) ? DEFAULT_FACTORY_SOAP_ENDPOINT_EC : args[0]; 
URI uriECCreate = new URI(strECEndpoint); 
EndpointReference eprECFactory = new EndpointReference(uriECCreate); 
ResourceCreationProxy ECFactory = new ResourceCreationProxy(eprECFactory); 
EndpointReference eprECRes = ECFactory.create("EventConsumer"); 
EventConsumerProxy ECTouchpoint = new EventConsumerProxy(eprECRes, eprWSRes); 

上一页  5 6 7 8 9 10 

Tags:使用 AIDE 实现

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