浏览 10737 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-28
一、环境及框架 Tomcat+spring+hibernate+jotm,还有就是struts、Oracle等 二、需求说明 系统里有2套不同网域的oracle数据库,之间的数据需要进行交互。 三、Dao配置 1、定义jtom Bean xml 代码
2、定义数据源 xml 代码
3、定义sessionFactory xml 代码
xml 代码
5、dao的配置 xml 代码
四、注意事项 1、spring已经整合了jotm,如果你使用spring自带的jotm,可能会提示某些类找不到,下载一个最新的jotm包,把lib目录里的所有jar包拷贝到lib目录。 2、如果系统中使用jndi,则原有的jndi服务可能会无效,提示NameNotFoundException异常,此时在src目录下添加一个carol.properties的属性文件,添加如下内容: xml 代码
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-10
觉得这个地方有点问题啊
<bean id="testADao" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>org.testA.hibernate.dao.ITestADAO</value> </property> <property name="interceptorNames"> <list> <value> testADaoTarget </value> </list> </property> </bean> <property name="interceptorNames">里面应该是截取器列表,testADaoTarget应放在target属性吧。 |
|
返回顶楼 | |
发表时间:2007-06-11
charka 写道 觉得这个地方有点问题啊
<bean id="testADao" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>org.testA.hibernate.dao.ITestADAO</value> </property> <property name="interceptorNames"> <list> <value> testADaoTarget </value> </list> </property> </bean> <property name="interceptorNames">里面应该是截取器列表,testADaoTarget应放在target属性吧。 这里的dao只是个代理而已,如你所说,它的执行者最后是testADaoTarget 我的想法是,既然是分布式事务,不应该在dao层进行事务拦截,而应该提升到service层。 上面我把service层省略了,比如我这么写: <bean id="myTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="userTransaction"> <ref local="jotm" /> </property> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager"> <ref bean="myTransactionManager"/> </property> </bean> 然后你在自己的service层的拦截器列表中添加这个transactionInterceptor拦截器就可以了,由它里边的jtom管理事务。 如: <bean id="testManagerTarget" class="org.test.spring.service.impl.testServiceImpl"> <property name="testADao"> <ref bean="testADao"/> </property> <property name="testBDao"> <ref bean="testBDao"/> </property> </bean> <bean id="testService" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>org.test.spring.service.ItestService</value> </property> <property name="interceptorNames"> <list> <idref bean="transactionInterceptor"/> </list> </property> </bean> |
|
返回顶楼 | |