java中如何实现多个数据源?

java中可以实现多个数据源吗?多数据源情况下程序中是否需要每个连接的地方都要指定用哪个数据源?我们对不同数据库的怪癖使用了根据配置判断的方法,假如多个数据源用不同数据库,这种方法就失效了,有何对应的解决方案?
需求是两个数据库在不同的服务器上,应用使用了ibates和spring框架,有两个独立的数据源配置文件.

可以有数据源,J2EE服务器都支持数据库跨服务器的事务支持,查询一下2pc事务,JNDI数据源有关资料