配置CitiApp场景
具体如何配置CitiApp场景的过程超出了本文介绍的范畴。总的来说,包括如下步骤:
1) 在Oracle中创建用户rcovflda,并赋予权限
2) 部署应用
3) 配置数据源
4) 创建认证别名和数据源
5) 更改连接工厂属性
6) 更改数据源的RAC字符串格式
测试流程
1. 验证正常情况下的流程
打开citiApp应用的主页:http://<host>:<port>/RecoveryDriverUI/Driver.jsp

更改BPEL process/Web service Endpoint URL为实际环境,点击运行。在Oracle中检查用户rcovflda的Account表,若有一条记录,并且WPS SystemOut.log中无错误信息,则表明流程成功。
2. 测试Oracle RAC
为了测试WPS失败切换功能,本文模拟在数据库进行持久的读写操作时将一个节点置为不可用状态。为此,笔者在页面模拟发送大量的事件(大于1000条),同时关闭第二个RAC节点上的数据库(在sys用户下使用shutdown immediate命令)。如果数据库中应用表中的记录仍然在持续增加,而没有受到数据库关闭的影响,由此可以得出结论:数据源中的多重地址列表已经生效,即其中一个节点状态为不可用时,另一个节点仍然可以接管过来进行写入操作,客户的业务流程没有受到影响。
结论
实际测试结果也说明了这一点。当发送完所有事件后,在数据库的应用表中可以看到记录数目等于发送的事件数目,没有事件丢失。这给客户带来的商业价值就在于,以很小的变更(替换多重地址列表的JDBC URL)实现了对数据库容错的支持。只要Oracle RAC配置正确,在WPS这端可充分利用Oracle RAC功能来实现对客户业务流程的高可用性支持。至此,我们可以认为,基于Oracle RAC架构的WPS成功实现了失败切换功能。
参考文献: