在Glassfish中制作数据源

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

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

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

我将连接到本地MySQL服务器。 对下拉列表中的选项之间的差异进行解释也是很好的。

在此处输入图像描述

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

DataSource 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消息传递服务(JMS)