【问题标题】:Making datasource in Glassfish在 Glassfish 中制作数据源
【发布时间】:2012-04-06 17:51:54
【问题描述】:

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

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

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

我将连接到本地 MySQL 服务器。最好能解释一下下拉菜单中的选项之间的差异。

【问题讨论】:

标签: java jakarta-ee glassfish


【解决方案1】:

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

数据源 DataSource DataSource 对象是 Connection 对象的工厂。使用简单 DataSource 时,appserver 使用自己的池而不是原生的。

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

XADataSource 如果要执行分布式事务,则需要 XADataSource。如果应用程序,您应该使用 XADataSource 而不是 DataSource

  • 使用 Java 事务 API (JTA)
  • 在单个事务中包含多个数据库更新
  • 在事务期间访问多个资源,例如数据库和 Java 消息服务 (JMS)

【讨论】:

  • 默认的 java.sql.Driver 1 怎么样?对此投了反对票。
猜你喜欢
  • 1970-01-01
  • 2012-08-01
  • 2012-02-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 2018-08-30
  • 2011-01-22
  • 2015-06-01
相关资源
最近更新 更多