我正在使用服务器的管理控制台为GlassFish创建JDBC连接池资源。
创建池的页面上的一个字段标记为“资源类型”。此字段有四个可能的值:javax.sql.DataSource,javax.sql.XADataSource,javax.sql.ConnectionPoolDataSource和javax.sql.Driver,但是创建JDBC连接池“向导”的帮助文本没有太多信息这些选择的优缺点。
当提示选择我应该选择的资源类型时?
我要连接到本地MySQL服务器。很好地解释下拉列表中选项之间的差异。
答案 0 :(得分:6)
以下是您需要列出的每种资源类型的方案。希望这会有所帮助。
<强>数据源强> DataSource DataSource对象是Connection对象的工厂。使用简单的DataSource时,appserver使用自己的池而不是本机。
<强>的ConnectionPoolDataSource 强> ConnectionPoolDataSource对象是PooledConnection对象的工厂。 ConnectionPoolDataSource用于访问PooledConnection,它通过JDBC驱动程序实现本机池。在这种情况下,应用程序服务器可以使用此本机接口实现连接池。请参考Java API以了解PooledConnection是什么...... ConnectionPoolDataSource可以使用第三方实现进行池化 - 据我所知,例如,使用DBCP连接池。
<强>的XADataSource 强> 如果要执行分布式事务,则需要XADataSource。如果应用程序
,您应该使用XADataSource而不是DataSource