`
安静的转着
  • 浏览: 11120 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

Write operations are not allowed in read-only mode (FlushMode.MANUAL)异常解决的一种方法

阅读更多
异常:Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.

web.xml内容:
  <filter>
    <filter-name>hibernateFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>hibernateFilter</filter-name>
    <url-pattern>*.do</url-pattern>
  </filter-mapping>


spring事件配置如下:
	<aop:config>
		<aop:pointcut id="txServices" expression="execution(* com.cnlive.dms.service..*.*(..))"/>
		<aop:advisor advice-ref="txAdvice" pointcut-ref="txServices"/>
	</aop:config>
	
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="add*" propagation="REQUIRED"/>
			<tx:method name="insert*" propagation="REQUIRED"/>
			<tx:method name="update*" propagation="REQUIRED"/>
			<tx:method name="delete*" propagation="REQUIRED"/>
		</tx:attributes>
	</tx:advice>


Service中是这样的:
	
	@Override
	public boolean createAdmin(Admin admin) {
		// TODO Auto-generated method stub
		Admin ad=adminDao.getAdminByUsername(admin.getUsername());
		if(ad==null){
			adminDao.insertAdmin(admin);
			return true;
		}
		return false;
	}


在运行到createAdmin方法中的adminDao.insertAdmin(admin);时就报异常。

解决方法:
   将createAdmin方法配置到spring的事件中管理,添加了以下的一条配置

<tx:method name="create*" propagation="REQUIRED"/>


具体spring事件配置如下:
	<aop:config>
		<aop:pointcut id="txServices" expression="execution(* com.cnlive.dms.service..*.*(..))"/>
		<aop:advisor advice-ref="txAdvice" pointcut-ref="txServices"/>
	</aop:config>
	
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="add*" propagation="REQUIRED"/>
			<tx:method name="insert*" propagation="REQUIRED"/>
			<tx:method name="update*" propagation="REQUIRED"/>
			<tx:method name="delete*" propagation="REQUIRED"/>
			<tx:method name="create*" propagation="REQUIRED"/>
		</tx:attributes>
	</tx:advice>


呵呵!问题就这样简单的解决了!不知道我们碰到的问题是否一样!
分享到:
评论

相关推荐

    使用Spring引起的错误

    使用Spring提供的Open Session In View而引起Write operations are not allowed in read-only mode (FlushMode.NEVER) 错误解决

    webgoat-standalone-7.1-SNAPSHOT-exec.jar

    Prerequisites: Java VM 1.8 Open a command shell/window, browse to where you ...Using the --help option will show the allowed command line arguments. 更多查看: https://github.com/WebGoat/WebGoat

    net51-r8169-6.011.00-2vft.510.0.0.799733.x86_64.rar

    在线封装和离线封装驱动 ... Description ...Adds the blacklisted ESXi 5.1 built-in ...Requires MaintMode Live Install Allowed Live Remove Allowed Stateless Ready Overlay Yes No No Yes No

    net55-r8168-8.045a-napi.x86_64.rar

    2015-01-16: Version 8.039.01: Changed driver code to not use IP checksum hardware offload (caused various issues with networking in VMs) 2015-01-05: Version 8.039.00: Original version

    springmodules-cache.xsd&springmodules-ehcache.xsd.rar

    解决web.xml中 &lt;page-encoding&gt;UTF-8&lt;/page-encoding&gt;报错。错误提示: cvc-complex-type.2.4.a: Invalid content was found starting with element 'page-encoding'. One of '{"http:// java.sun....

    net-e1000e-3.1.0.2-glr2.x86_64.rar

    Requires MaintMode Live Install Allowed Live Remove Allowed Stateless Ready Overlay Yes No No Yes No Additional links Related VMware Forum's post Package updated to include missing device IDs 1502...

    sciter-sdk-4.0.0.7

    NOTE: Windows executables in SDK are not signed so you may encounter security warnings on W8 and W10. On MacOS you may need to run SDK executables directly from console as they are not signed too.

    FlexGraphics_V_1.79_D4-XE10.2_Downloadly.ir

    When True then in ftmPanning mode will be shown only cached image of the initial client area. All parts outside will paints of the TFlexPanel.Brush. When returning from ftmPanning mode the complete ...

    sciter-sdk-4.0.3.5348

    NOTE: sciter.dlls, sciter.exe and notes.exe Windows executables in SDK are digitally signed now. On MacOS you may need to run SDK executables directly from console as they are not signed too.

    net-tulip-1.1.15-1.x86_64.rar

    Requires MaintMode Live Install Allowed Live Remove Allowed Stateless Ready Overlay Yes No No Yes No Additional links VMware Communities thread about running VMware ESXi inside Hyper-V Build ...

    开源项目-pawelad-just-scored.zip

    开源项目-pawelad-just-scored.zip,为世界杯球迷提供lambda动力的Slack应用程序

    Diskeeper 2008 v12.0.759.0

    directories that will not be allowed to be processed by Diskeeper. Event Logging ------------- Diskeeper records information about its activity in two ways. First, general information about ...

    NIST SP800-76-2.pdf

    This document contains technical specifications for biometric data mandated or allowed in [FIPS]. These specifications reflect the design goals of interoperability, performance and security of the PIV...

    [麻省理工学院-算法导论].Introduction.to.Algorithms,.Second.Edition

    You are likely to have seen much of the material in the appendix chapters before having read this book (although the specific notational conventions we use may differ in some cases from what you have...

    TreeAgePro-2013-Manual.pdf

    TreeAge Pro 2013 User's Manual TreeAge Software embarked on an ambitious project to rewrite the software within the Eclipse development environment. Eclipse is a customizable development environment ...

    wp-o-matic.1.0RC4.zip

    Use the post template feature -located in campaign settings-. For example: {content} &lt;p&gt;&lt;a &gt;Link to the original site&lt;/a&gt;&lt;/p&gt; = Why isn’t the full article showing? = Because the feed you're using ...

    NR5G网络拒绝码-5gmm_cause = 27 (0x1b) (N1 mode not allowed).docx

    从3GPP协议和UE端行为分析5G gmm cause #27的网络问题

    开源项目-averagesecurityguy-spf.zip

    开源项目-averagesecurityguy-spf.zip,Parse SPF records. Check for allowed clients.

    CENTUMVP培训资料.pptx

    - Accessing without a password If you do not know the password, the SCS project can be opened in read-only mode without entering the password after checking [Read Only]. In this status, the users are...

    Lesson-1-master.zip

    The self paced courses below are provided to help you increase your knowledge of UEFI and EDK II and to aid you in performing UEFI- and EDK II-related tasks. These courses are provided and produced as...

Global site tag (gtag.js) - Google Analytics