在Websphere中使用多数据源

时间:2012-09-14 16:07:54

标签: websphere websphere-7

我要将Web应用程序从Oracle Weblogic Server 11移植到Websphere 8.5。我发现的一个问题是WLS应用程序使用名为“多数据源”的功能,其中多个JDBC连接可用作单个组件(从而提供对数据库的更强大的访问)。
对于Websphere还有一个等效的解决方案,还是我可以用来模拟它的解决方法? 非常感谢 路易斯

1 个答案:

答案 0 :(得分:2)

检查WLS documentation;

  

可以将多数据源视为数据源池。多   数据源最适合用于故障转移或负载平衡   高可用性数据库系统的节点,例如冗余   数据库或Oracle Real Application Clusters(RAC)。

据我所知,WAS不存在这样的设施。尽管如此,您可以通过使用负载平衡的JDBC连接字符串来实现相同的结果。 Oracle RAC的示例可能如下(引用Oracle documentation);

jdbc:oracle:thin@(DESCRIPTION=
  (LOAD_BALANCE=on)
  (ADDRESS=(PROTOCOL=TCP)(HOST=racnode1) (PORT=1521))
  (ADDRESS=(PROTOCOL=TCP)(HOST=racnode2) (PORT=1521))
  (CONNECT_DATA=(SERVICE_NAME=service_name)))

您将要做的是在您喜欢的范围内在WAS上定义单个普通数据源,并如上所述配置负载平衡JDBC连接字符串(此处示例负载平衡两个RAC节点)。

如上配置的负载平衡功能由数据库供应商提供的JDBC驱动程序提供,因此如果您使用的是其他数据库,则应检查数据库文档以获得支持。


编辑:我的答案的修正是有序的。我遇到了这个功能,这确实是WAS8中的一个新功能,称为Resource workload routing。以下是描述;

  

资源工作负载路由包括数据源和连接工厂   故障转移和后续从预定义的备用或故障恢复   备份资源。此功能使应用程序可以轻松恢复   来自资源中断,例如数据库故障,而不需要   您要嵌入备用资源和配置信息。您可以   定制资源故障转移和故障恢复灵活配置   满足您的环境和应用需求的选项。

您可以通过向数据源添加自定义属性来简单地配置此新功能。此功能的主要属性是;

alternateResourceJNDIName
Values: String value containing a direct JNDI name.

Description: An alternate connection factory or data source resource
should be like the primary resource. Provide the JNDI name of the 
alternate resource to enable the fail over feature.