在Glassfish中制作数据源

时间:2012-04-06 17:51:55

标签: java java-ee glassfish

我正在使用服务器的管理控制台为GlassFish创建JDBC连接池资源。

创建池的页面上的一个字段标记为“资源类型”。此字段有四个可能的值:javax.sql.DataSource,javax.sql.XADataSource,javax.sql.ConnectionPoolDataSource和javax.sql.Driver,但是创建JDBC连接池“向导”的帮助文本没有太多信息这些选择的优缺点。

当提示选择我应该选择的资源类型时?

我要连接到本地MySQL服务器。很好地解释下拉列表中选项之间的差异。

enter image description here

1 个答案:

答案 0 :(得分:6)

以下是您需要列出的每种资源类型的方案。希望这会有所帮助。

<强>数据源 DataSource DataSource对象是Connection对象的工厂。使用简单的DataSource时,appserver使用自己的池而不是本机。

<强>的ConnectionPoolDataSource ConnectionPoolDataSource对象是PooledConnection对象的工厂。 ConnectionPoolDataSource用于访问PooledConnection,它通过JDBC驱动程序实现本机池。在这种情况下,应用程序服务器可以使用此本机接口实现连接池。请参考Java API以了解PooledConnection是什么...... ConnectionPoolDataSource可以使用第三方实现进行池化 - 据我所知,例如,使用DBCP连接池。

<强>的XADataSource 如果要执行分布式事务,则需要XADataSource。如果应用程序

,您应该使用XADataSource而不是DataSource
  • 使用Java Transaction API(JTA)
  • 在单个交易中包含多个数据库更新
  • 在事务期间访问多个资源,例如数据库和Java Messaging Service(JMS)