【问题标题】:What are examples of non transactional datasources?非事务性数据源的示例有哪些?
【发布时间】:2010-12-09 13:36:56
【问题描述】:

JBoss documentation 中可以声明<no-tx-datasource>,其中声明:

no-tx-datasource :此元素用于指定 (org.jboss.resource.connectionmanager) NoTxConnectionManager 服务配置。 NoTxConnectionManager 是一个不支持事务的 JCA 连接管理器。

我很好奇这种数据源可以连接什么? ldap?这种配置的实际用例或开源示例是什么?

【问题讨论】:

    标签: jakarta-ee jboss datasource


    【解决方案1】:

    不是所有的dataSource都是tx,一个DataSource也可以代表磁盘上的一个File。

    【讨论】:

      【解决方案2】:

      访问只读数据库是我能想到的最基本的用例。另一种是管理事务状态本身的应用程序。如果您想使用不参与全局 JTA 事务的连接,还有另一个。最后一个发生在 Quartz 中(参见 JobStoreCMT)。

      但是,在谷歌搜索时(这是一个好问题!),我在 Sun 的应用服务器文档的 Using Non-Transactional Connections 部分找到了更多灵感:

      使用非事务连接的主要优点是避免了在事务上下文中登记和删除连接所产生的开销。但是,请谨慎使用此类连接。例如,如果在修改数据库的事务正在进行时使用非事务连接查询数据库,则查询将检索数据库中未修改的数据。这是因为正在进行的事务尚未提交。再举个例子,如果非事务连接修改了数据库,同时运行的事务回滚,则非事务连接所做的更改不会回滚。

      以下是非事务连接的典型用例:在跨越循环的多次迭代的事务上下文中更新数据库的组件可以通过使用非事务连接在执行前读取数据来刷新缓存数据。事务提交。

      有趣...

      【讨论】:

      • +1 谢谢帕斯卡。我也谷歌了,但没有找到详尽的信息。 JDBC 连接参数建议可以与数据库一起使用,但直到您的精彩解释我才看到这样做的目的。
      猜你喜欢
      • 2011-12-23
      • 1970-01-01
      • 2014-01-17
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      • 2012-01-29
      • 2019-07-20
      相关资源
      最近更新 更多