7 JMS和数据库连接的集群支持
除JSP,Servlet,JNDI和EJB之外,在J2EE中还有其他的分布式对象。这些对象在集群的实现中可能支持,可能不支持。
当前,一些数据库产品,如Oracle RAC,支持集群环境并可以部署到多复制,同步的数据库实例中。然而,JDBC是一个高度状态化的协议并且它的事务状态直接与客户端和服务器的Socket连接绑定,所以很难获取集群能力。如果一个JDBC连接失效了,与该失效连接相关的所有JDBC对象也就失效了。客户端代码需要进行重连的动作。BEA WebLogic使用JDBC多池(multipool)技术来简化这种重连过程。
JMS被多数J2EE服务器所支持,但支持得并不完全,负载均衡和失效转移仅仅被JMS代理所实现,很少有产品在JMS Destination中的消息有失效转移的功能。