Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1014|回复: 0

求助!!!!!Jboss+Jpa这样的组合出现的问题您能解决么

[复制链接]

该用户从未签到

发表于 2011-10-28 17:55:47 | 显示全部楼层 |阅读模式
项目部署在Jboss下

jboss下配置的数据源如下:

<local-tx-datasource>
  <jndi-name>misOracleDS</jndi-name>


persistence.xml配置如下:
  。。。。。。。。。。。。。。
<persistence-unit name="misUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>java:misOracleDS</non-jta-data-source>
  。。。。。。。。。。。。。。。。。。。。。。。

因为没有JTA事务的需求,所以就配置了RESOURCE_LOCAL和non-jta-data-source

Spring的配置如下:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  <property name="dataSource" ref="dataSource"/>
<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"/>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName">
  <value>java:misOracleDS</value>
  </property>
</bean>

  <!-- 采用Spring的事务管理机制管理EntityManagerFactory -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
  <property name="entityManagerFactory" ref="entityManagerFactory"/><!-- 注入管理器 -->
</bean>

<!--采用注解方式声明事务 -->  
<tx:annotation-driven transaction-manager="transactionManager"/>



想通过上面的配置,利用jboss创建的数据源来进行RESOURCE_LOCAL的本地事务管理

但是部署的时候出错:

Failed to convert property value of type [org.jboss.resource.adapter.jdbc.WrapperDataSource] to required type [javax.sql.DataSource] for property 'dataSource'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [org.jboss.resource.adapter.jdbc.WrapperDataSource] to required type [javax.sql.DataSource] for property 'dataSource': no matching editors or conversion strategy found

大意是说:我们通过JNDI的方式java:misOracleDS方式的得到的数据源被jboss包装过了不在是javax.sql.DataSource

为了便于管理数据源,我又不想用下面的方式去创建javax.sql.DataSource

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</bean>


1)请问大家,怎么样利用jboss配置好的数据源去实现本地事务管理

2)JTA的事务管理我配置好了,这里同时有个疑问,我如果配的JTA的事务,但是系统只需要本地事务,这是不是会事务过重,也消耗系统的一点性能(毕竟JTA有个2此提交协议)


请大家重点帮忙解决问题1);

疑问2)欢迎大家一起探讨下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-16 05:30 , Processed in 0.378964 second(s), 48 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表