【问题标题】:websphere wasjdbcDataSource to XADataSourcewebsphere wasjdbcDataSource 到 XADataSource
【发布时间】:2017-07-12 02:47:40
【问题描述】:

我已经在 websphere 中设置了 oracle xadatasource,我想通过使用 spring 上下文查找 jndi 来获取数据源,当我启动我的应用程序时发生异常:WasjdbcDataSource 与 javax.sql.XADataSource 不兼容。 我该如何解决这个问题?

【问题讨论】:

  • 我不知道 WasjdbcDataSource,但从你的问题来看,我怀疑它没有实现 javax.sql.XADataSource。如果您找不到任何 XA 兼容的 WasjdbcDataSource,您可以使用 atomikos.com/Documentation/NonXaDataSource
  • @PascalLeclercq 谢谢

标签: java jdbc websphere atomikos


【解决方案1】:

在 Java EE 应用程序服务器(例如 WebSphere Application Server)中,即使您配置了支持 XA 的 javax.sql.XADataSource,应用程序(和 Spring)也应该始终将其用作 javax.sql.DataSource。查看 Spring 配置是否可以指示 javax.sql.DataSource 的预期类型而不是 javax.sql.XADataSource。 XADataSource API 仅供应用程序服务器自己的内部使用,以完成两阶段提交。用户始终作为 javax.sql.DataSource 与其交互,并获得在单个全局事务中获取多个资源的能力。

【讨论】:

  • 您的意思是我应该将 jndi 视为 java.sql.datasource 并在 spring 或手动配置可以的情况下将其转换为 XAdatasource。对吗?
  • 根本不要将其转换/转换为 XADataSource。将其称为 javax.sql.XADataSource 的唯一位置是在数据源的 WebSphere Application Server 定义中(如果是传统的 WebSphere,则为 JDBCProvider,如果是 Liberty,则为 dataSource/jdbcDriver 配置)。其他任何地方——Spring、JNDI 查找、资源引用......应该始终将其作为 javax.sql.DataSource 引用和使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-27
  • 1970-01-01
  • 2015-03-03
  • 2019-03-13
  • 2018-04-12
相关资源
最近更新 更多