`
ashin
  • 浏览: 2016 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring2.5与DWR使用中遇到的事务问题

阅读更多

 在SSH中添加事务,代码如下:

<bean id="transactionIntercepter" class="org.springframework.transaction.interceptor.TransactionInterceptor">
    <property name="transactionManager" ref="transactionManager" />
    <property name="transactionAttributes">
        <props>
        <prop key="cim*">PROPAGATION_REQUIRED</prop>
    </props>
    </property>
</bean>
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="beanNames">
        <list>
            <value>addproService</value>
            <value>queryproServise</value>
            <value>examservice</value>
            <value>measureService</value>
        </list>
    </property>
    <property name="interceptorNames">
        <list>
            <value>transactionIntercepter</value>
        </list>
    </property>
</bea

其中 measureSrvice 要用到事务。

MeasureService的配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    <!-- dao -->
    <bean id="measureDao" class="com.chengxin.measure.dao.impl.MeasureDaoImpl">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <!-- service -->
    <bean id="measureService" class="com.chengxin.measure.service.impl.MeasureServiceImpl">
        <property name="dao" ref="measureDao" />
    </bean>
    <!-- action -->
    <bean id="measureAction" class="com.chengxin.measure.action.MeasureAction" scope="prototype">
        <property name="service" ref="measureService"></property>
        <property name="typeService" ref="typeservice"></property>      
    </bean>
</beans

 DWR相关measure配置如下 :

<create creator="spring" javascript="measure">
    <param name="beanName" value="measureService"></param>
    <include method="checkPunish" />
    <include method="checkNotify" />
    <include method="exists" />
</create>

 此时,页面上执行JavaScript脚本代码:measure.exists时总是弹出“ERROR”提示框。

网上百度下,在DWR配置中加上错误信息提示:

<convert converter="spring" match="java.lang.StackTraceElement" />
<convert converter="exception" match="java.lang.Exception" />

 再次执行,提示“Object is not an instance of declaring class"。

再次百度,大意是measureService由代理生成,DWR调用的时候与声明的类不匹配,所以出错。要修改Spring-bean的配置文件,修改如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    <!-- dao -->
    <bean id="measureDao" class="com.chengxin.measure.dao.impl.MeasureDaoImpl">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <!-- service -->
    <bean id="measureService" class="com.chengxin.measure.service.impl.MeasureServiceImpl">
        <aop:scoped-proxy/>
        <property name="dao" ref="measureDao" />
    </bean>
    <!-- action -->
    <bean id="measureAction" class="com.chengxin.measure.action.MeasureAction" scope="prototype">
        <property name="service" ref="measureService"></property>
        <property name="typeService" ref="typeservice"></property>      
    </bean>
</beans>

 再次执行,OK。

分享到:
评论

相关推荐

    struts1.2+hibernate3.2+spring2.5+dwr

    Struts1.2、Hibernate3.2、Spring2.5 和 DWR2.0 是一组经典的Java企业级开发框架组合,它们在Web应用程序开发中扮演着重要的角色。这些框架的集成为开发人员提供了强大的功能,使得后端数据管理、业务逻辑处理以及...

    spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置

    综上所述,"spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置"涉及到的不仅仅是单一技术的使用,更是Java Web开发中多框架协同工作的典范,展示了如何利用注解简化配置,提高开发效率,并为大型企业级应用...

    DWR_Strut2_Hibernate3_Spring2.5 Demo

    总结来说,"DWR_Strut2_Hibernate3_Spring2.5 Demo" 是一个全面展示如何将这四个技术结合使用的实践案例,对于想要学习或理解这些技术如何在实际项目中协作的开发者而言,是非常有价值的参考资料。通过这个项目,...

    dwr2.0整合Struts1.3+hibernate3.1+spring2.5的项目

    标题 "dwr2.0整合Struts1.3+hibernate3.1+spring2.5的项目" 涉及的是一个经典的Java Web开发技术集成,这其中包括Direct Web Remoting (DWR) 2.0、Struts 1.3、Hibernate 3.1和Spring 2.5。这个项目可能是为了展示...

    Spring2.5+Struts2.0+DWR完成拥护登陆

    本项目利用Spring 2.5、Struts 2.0和Direct Web Remoting (DWR)的集成,实现了用户登录功能,下面将详细解析这三个框架以及它们在用户登录模块中的应用。 **Spring框架** Spring是一款轻量级的Java企业级应用框架,...

    struts2.1spring2.5hibernate3DWR

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的组合通常被称为SSH。DWR(Direct Web Remoting)则是一种JavaScript库,用于在浏览器和服务器之间进行实时的、异步的数据交换。这个名为"ssh2dwr"的...

    Dwr2+Struts2+Spring2.5+Hibernate3用户登录注册系统

    标题 "Dwr2+Struts2+Spring2.5+Hibernate3用户登录注册系统" 描述了一种基于经典Java EE技术栈的Web应用程序,用于实现用户登录和注册功能。这个系统利用了Direct Web Remoting 2 (DWR2)、Struts2、Spring 2.5和...

    dwr2+struts2+spring2.5+hibernate3登陆网站

    标题 "dwr2+struts2+spring2.5+hibernate3登陆网站" 描述了一个基于四个关键技术和框架构建的登录系统。这四个技术是Direct Web Remoting 2 (DWR2),Struts2,Spring 2.5,以及Hibernate 3,它们在Web开发领域中都有...

    Dwr2+Struts2+Spring2.5+Hibernate3实战——用户登录注册系统

    Dwr2、Struts2、Spring2.5和Hibernate3各自扮演着关键的角色,共同实现了分层架构,确保各组件专注于自身的核心功能。 Dwr2,即Direct Web Remoting 2,是一个JavaScript到服务器端Java的远程调用框架,主要用于...

    Struts2.1.8,Spring2.5,Hibernate3所需Jar包 S2SH SSH

    Struts2.1.8、Spring2.5和Hibernate3是经典的Java企业级开发框架组合,通常被称为S2SH或SSH。这些框架协同工作,帮助开发者构建高效、可维护的Web应用程序。 Struts2作为MVC(模型-视图-控制器)框架,负责处理应用...

    Dwr+Ajax实例和教程

    8. **错误处理与调试**:分享在开发过程中可能出现的问题及解决策略,包括日志记录、错误回调函数的使用等。 通过这个教程,开发者不仅可以学习到DWR和Ajax的基础知识,还能了解到如何在实际项目中结合Struts和...

    struts-2.0.11+spring-2.5+ibatis-2.3及其它各种jar包

    Spring 2.5 版本在此集合中,意味着可以利用其对依赖注入的强大支持,以及与 Struts 2 的整合能力,实现更灵活的应用架构。 iBatis 是一款持久层框架,它将 SQL 查询与 Java 代码解耦,使得开发者可以更专注于 SQL ...

    Spring攻略(第二版 中文高清版).part1

    6.2 在你的Servlet和过滤器中使用Spring 214 6.2.1 问题 214 6.2.2 解决方案 215 6.2.3 工作原理 215 6.3 将Spring与Struts 1.x集成 220 6.3.1 问题 220 6.3.2 解决方案 220 6.3.3 工作原理 220 6.4...

    Spring攻略(第二版 中文高清版).part2

    6.2 在你的Servlet和过滤器中使用Spring 214 6.2.1 问题 214 6.2.2 解决方案 215 6.2.3 工作原理 215 6.3 将Spring与Struts 1.x集成 220 6.3.1 问题 220 6.3.2 解决方案 220 6.3.3 工作原理 220 6.4...

    Spring in Action(第二版 中文高清版).part2

    16.4.3 在JSF页面中使用Spring Bean 16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 ...

    Spring in Action(第二版 中文高清版).part1

    16.4.3 在JSF页面中使用Spring Bean 16.4.4 在JSF中暴露应用程序环境 16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 ...

    s2sh+dwr+extjs基于annoation三个项目实战

    在本项目实战中,我们将深入探讨如何利用"Spring 2.5 + Struts 2 + Hibernate (S2SH)"框架,结合Direct Web Remoting (DWR) 和ExtJS技术,来构建一个基于注解(Annotation)的高效Web应用程序。这个实战涵盖了三个...

    Spring in Action(第2版)中文版

    16.4.3在jsf页面中使用springbean 16.4.4在jsf中暴露应用程序环境 16.5spring中带有dwr的支持ajax的应用程序 16.5.1直接web远程控制 16.5.2访问spring管理的beandwr 16.6小结 附录a装配spring a.1下载spring ...

    创新客户关系管理系统.rar

    【创新客户关系管理系统】是一个基于Java技术栈的项目,整合了Spring 2.0、Hibernate 2.5、Struts 2.0和Direct Web Remoting (DWR)等核心框架,旨在提供高效且灵活的客户管理解决方案。下面将详细阐述这些技术在CRM...

    Eclipse3.4_SSH2框架搭建

    SSH2框架的过程中,我们涉及到了一套完整的开发环境与一系列关键技术组件,这包括了Eclipse3.4作为集成开发环境、Tomcat-5.5.28作为应用服务器、Mysql-5.1.49作为数据库系统,以及一个由Struts2.0、Spring2.5和...

Global site tag (gtag.js) - Google Analytics