异步调用 API

使用异步调用 API 以基于应用程序会话标识,将需要在会话启动协议 (SIP) 应用程序会话中进行处理的事件传输到集群中的任何服务器。

异步调用 API 也称为异步工作分派器,可以使用相关应用程序会话标识将需要在 SIP 应用程序会话的上下文中处理的事件传输到集群中的任何服务器。这些传输通常由导致位于其他服务器上的 SIP 会话发生状态更改的事件触发。异步工作分派器将事件任务传输到要运行的正确服务器。

在 Websphere Application Server 中,会将所有相关 SIP 消息传递到集群中的相同服务器,且会话始终位于相同 SIP 容器中。要防止同步性问题和锁定,不能同时处理相同应用程序会话中的任务(即在不同线程或进程上),这会限制对特定类型事件进行处理。

要获取有关 SIP 会话和 SIP 应用程序会话及其关系的更为详细的信息,请参阅 Java™ 规范请求 (JSR) 289 的第 6 部分。

通过实现异步调用 API 解决以下两种场景。
  1. 与相同 SIP 应用程序会话相关的两个请求在两个不同线程上同时运行。例如,与消息驱动 bean (MDB) 一起使用的 Java EE (J2EE) 应用程序可以检索事件,以在特定 SIP 应用程序会话上发送 SIP 消息。同时,SIP 容器会在与相同应用程序会话连接的其他会话上收到入局 SIP 消息,并在不同线程上对其进行处理。将需要同步会话访问权,以避免出现竞争状态并确保同步所有会话属性。 在这种情况下,利用锁定机制将变得无效,因为 SIP 应用程序会话可能包含多个 SIP 会话。
  2. 不具有特定 SIP 应用程序会话的服务器收到请求,并通过非 SIP 协议在此会话的上下文中发送消息。例如,正在启动 SIP 对话框的 Web 服务可以位于不同于拥有其必须使用的 SIP 应用程序会话的服务器的其他服务器中。

异步调用 API 确保特定应用程序代码根据 SIP 应用程序会话标识在正确服务器和正确线程上运行。

异步调用 API 提供以下优势:
  1. 异步调用过程中最多涉及两个服务器:一个服务器检索工作任务,另一个服务器为处理此任务的 SIP 应用程序会话以及将任务传输到的目标服务器。
  2. 异步调用允许以线程安全的方式工作。 此方法确保仅一个线程处理与 SIP 应用程序会话有关的消息。因此,不需要同步此会话的访问权。
  3. 异步调用提供可扩展的解决方案。将更多服务器添加到集群时,不会影响性能。
  4. 需要时仅使用跨服务器调用,这会提高性能。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ccea_asynch_invocation_api
文件名:ccea_asynch_invocation_api.html