【发布时间】:2015-07-17 14:58:03
【问题描述】:
我正在使用以 oracle 作为数据库的 spring webservice 应用程序。现在我已经使用 weblogic 服务器创建了数据源。还使用 eclipse linkg JPA 来执行读写事务(插入、读取和更新)。现在我们要分离读取(读取)和写入(插入或更新)事务的数据源。
我目前的dataSource如下:
JNDI NAME : jdbc/POI_DS
URL : jdbc:oracle:thin:@localhost:1521:XE
使用它,我正在执行读写事务。
如果我执行以下操作会怎样:
JNDI NAME : jdbc/POI_DS_READ
URL : jdbc:oracle:thin:@localhost:1521:XE
JNDI NAME : jdbc/POI_DS_WRITE
URL : jdbc:oracle:thin:@localhost:1521:XE
我知道使用 XA 数据源我们可以定义多个数据源。我可以在没有 XA 数据源的情况下做同样的事情吗?有没有人尝试过这种方法。
::UPDATE::
感谢大家的回复,我已经实施了以下解决方案。
我采用了多数据库方法。您将在其中定义多个transactionManagers 和managerFactory。我只采用了EntityManagerFactory Bean 中引用的单个非 xa 数据源(JNDI)。
您可以在此处冷藏以下链接,这些链接适用于多个数据源 Multiple DataSource Approach defining @transactional value
还探讨了事务管理器org.springframework.transaction.jta.WebLogicJtaTransactionManager 和org.springframework.orm.jpa.JpaTransactionManager。
【问题讨论】:
标签: java spring oracle jpa jdbc