以下是您需要列出的每种资源类型的场景。希望这可以帮助。
DataSource
DataSource DataSource 对象是 Connection 对象的工厂。使用简单数据源时,appserver 使用自己的池而不是原生的。
ConnectionPoolDataSource
ConnectionPoolDataSource 对象是 PooledConnection 对象的工厂。ConnectionPoolDataSource 用于授予对通过 JDBC 驱动程序实现本机池的 PooledConnection 的访问权限。在这种情况下,应用服务器可以使用本机接口实现连接池。请参阅Java API以了解 PooledConnection 是什么... ConnectionPoolDataSource 可以使用第三方实现进行池化——据我所知,对于 Tomcat,例如使用 DBCP 连接池。
XADataSource
如果要执行分布式事务,则需要 XADataSource。如果应用程序应该使用 XADataSource 而不是 DataSource
- 使用 Java 事务 API (JTA)
- 在单个事务中包括多个数据库更新
- 在事务期间访问多个资源,例如数据库和 Java 消息服务 (JMS)