Struts+Spring+Hibernate事务处理问题:
见网上文章说事务都在Spring里处理。
(在Spring的XML配置文件里设置如下步骤)
org.apache.commons.dbcp.BasicDataSource创建数据源(JDBC连接)=》
org.springframework.orm.hibernate3.LocalSessionFactoryBean创建工厂=》
org.springframework.orm.hibernate3.HibernateTransactionManager通过工厂获取Session并生成事务对象=》
org.springframework.transaction.interceptor.TransactionInterceptor根据事务对象生成一个事务拦截器=》
org.springframework.aop.framework.ProxyFactoryBean生成代理工厂BEAN,配置如下:
<bean id="ServiceManager" abstract="true"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>问题:
(1)如果采用TOMCAT连接池,使用JNDI方式来生成工厂并处理事务,Spring的XML配置应该怎样设置?(2)接问题1,可以采用HIBERNATE的工厂类(自定为:HibernateSessionFactory,使用JNDI查找TOMCAT连接池生成Session.)来代替org.springframework.orm.hibernate3.LocalSessionFactoryBean创建工厂吗?(3)org.springframework.aop.framework.ProxyFactoryBean可以用<list>设置多个拦截器,假如拦截器中有冲突,例如:
拦截器1设置了<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
拦截器2设置了<prop key="get*">PROPAGATION_REQUIRED,-BaseException</prop>
这时候会根据那个来执行?(4)例子:一个查询业务包含:a.判断用户权限 b.写入登陆日志表 c.读取表A的数据。
3个分业务都封装到ServiceManager中,ServiceManager调用HIBERNATE的DAO处理类来处理3个业务,Spring配置Action指向ServiceManager、创建ServiceManager(指向DAO处理类,创建DAO类)、指定ServiceManager的拦截器。
上面的处理有问题吗?(5)各位一般怎样处理事务?上面问题中有没原则性错误?较多问题,希望各位高手有耐心看完,并指导一下,谢谢
欢迎各位访问http://www.coodon.com与我联系。
见网上文章说事务都在Spring里处理。
(在Spring的XML配置文件里设置如下步骤)
org.apache.commons.dbcp.BasicDataSource创建数据源(JDBC连接)=》
org.springframework.orm.hibernate3.LocalSessionFactoryBean创建工厂=》
org.springframework.orm.hibernate3.HibernateTransactionManager通过工厂获取Session并生成事务对象=》
org.springframework.transaction.interceptor.TransactionInterceptor根据事务对象生成一个事务拦截器=》
org.springframework.aop.framework.ProxyFactoryBean生成代理工厂BEAN,配置如下:
<bean id="ServiceManager" abstract="true"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>问题:
(1)如果采用TOMCAT连接池,使用JNDI方式来生成工厂并处理事务,Spring的XML配置应该怎样设置?(2)接问题1,可以采用HIBERNATE的工厂类(自定为:HibernateSessionFactory,使用JNDI查找TOMCAT连接池生成Session.)来代替org.springframework.orm.hibernate3.LocalSessionFactoryBean创建工厂吗?(3)org.springframework.aop.framework.ProxyFactoryBean可以用<list>设置多个拦截器,假如拦截器中有冲突,例如:
拦截器1设置了<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
拦截器2设置了<prop key="get*">PROPAGATION_REQUIRED,-BaseException</prop>
这时候会根据那个来执行?(4)例子:一个查询业务包含:a.判断用户权限 b.写入登陆日志表 c.读取表A的数据。
3个分业务都封装到ServiceManager中,ServiceManager调用HIBERNATE的DAO处理类来处理3个业务,Spring配置Action指向ServiceManager、创建ServiceManager(指向DAO处理类,创建DAO类)、指定ServiceManager的拦截器。
上面的处理有问题吗?(5)各位一般怎样处理事务?上面问题中有没原则性错误?较多问题,希望各位高手有耐心看完,并指导一下,谢谢
欢迎各位访问http://www.coodon.com与我联系。
解决方案 »
- HQL 联合查询问题 求教
- 我自学java,找了一份工作,但是工作内容是维护一些代码,而且是pb代码,和java没有太多关系。迷茫中。
- jsp页面调后台java类,报java.lang.NoSuchMethodError错误
- 求助:评论功能实现碰到问题,代码如下。
- java怎么引入下载的包 如SNMP4J包
- 一个奇怪的问题Jsf+Spring在不同的机器上表现不一样
- weblogic9.1和Apache如何整合...
- 请问java应用程序(不在server里运行)怎么调用EJB?
- WebLogic7.0数据源问题
- JBuilder9+Weblogic7+SQLServer2000开发EntityEJB,为什么看不到数据库中该有的表?
- netbeans6.0 配置struts 2.0 出现问题
- hibernate3,我一个星期都没有解决,急死我了
帮你顶了