`
dylan0514sina.cn
  • 浏览: 92234 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
Hibernate SessionFactory的创建在LocalSessionFactoryBean afterpropertySet执行时进行 运行时配置configTime***Holder设置的资源将由对应实现Hibernate接口的工厂方法在创建工厂时使用,创建完成之后configTime***Holder置空。   configTimeDataSourceHolder设置的数据源将由org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider使用   configTimeTransactionManager ...
编写接口 /* * Copyright (c) 2008 Skyon Technology Ltd. * All rights reserved. * * project: ims * create: 2013-6-7 * cvs: $Id: $ */ package com.skyon.cl.test; /** * TODO (2013-6-7 上午10:27:23) 请添加 A 类的注释。 * @author dylan0514 * @version $Revision: 1.1 $ */ public interface A { ...
AbstractBeanFactory是IOC容器实现的骨架,当从Spring容器获取Bean时,调用的正是getBean方法。实现步骤如下 检查单例缓存 在父工厂中查找 初始化当前bean依赖的beans(depends-on) 根据scope使用不同的创建方式bean 检查获取的bean是FactoryBean类型还是普通bean 可能的类型转换 单例缓存 spring中单例理解不同与设计模式中的单例,前者指一个容器对应类只有一个实例,后者指一个classloader有一个实例。Spring bean工厂将scope="sin ...
Tomcat中时启动会校验项目的/WEB-INF/lib下的所有jar包,jar文件是一种带有Manifest清单文件的压缩包,Manifest文件是jar规范提供用来提供依赖扩展的,比如该jar包是一个包含main方法的可执行的Jar包,那么manifest清单文件中就包含Main-class:xxxx;同时如果改jar需要依赖其他的jar包,则清单文件中就多了一行Class-path:x1.jar x2.jar.tomcat引擎需要读取改清单文件已加载x1.jar x2.jar 初步断定:应该是解压缩读取manifest文件出的错 肯定是JAR包有问题 执行JAR与清单文件中的x1 ...
   根据语义的不同,查找类或资源的方式通常不太一样;Servlet语义下查找的类或资源必须在WEB根目录下;在URLClassloader语义下查找的类或资源在指定的URL中; 而java.io.File查找的类或资源特定于本地文件系统,File实例文件和目录路径名的抽象表示形式,并不能说明文件系统就存在对应的目录或文件,可以用exist方法断定文件是否存在;构造File实例的时候,需要传入代表路径的字符串,正如getPath的含义一样只是返回这个字符串本身;如果字符串表达的是相对路径,则使用它和文件系统交互之前,必须加入前缀,这里指工作目录由System.getProperty(&qu ...
在一次请求内绑定一个Session到线程,防止Web资源加载时的懒加载问题。HibernateTransactionManager或JTATransactionManager将会使用此Session。非事务运行时(并非事务挂起)也可使用。 该类的flushMode设置为Manual,由于该类一般为事务层提供Session,当Session同步到事务,对于非只读事务(definition指定)由HibernateTransactionManager或SessionFactoryUtils改变flushMode为Auto。如果不在Spring提供事务环境下使用此类,则合理的设置flushMode ...
继承HibernateAccessor功能,在代理到Hibernate操作之前尚未发现Session则创建绑定,否则使用线程已绑定的Session;操作中出现错误可开启exceptionConversionEnabled以转换异常;操作结束后,Session由自己创建则关闭或延迟关闭,否则回复FlushMode /* * Copyright 2002-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); ...
HibernateAccessor是HibernateInterceptor和HibernateTemplate父类,它主要提供Hibernate刷新机制的转换和Hibernate异常体系到Spring异常体系的转换 刷新机制 Spring定义刷新选项 FLUSH_NEVER FLUSH_AUTO FLUSH_EAGER FLUSH_COMMIT FLUSH_ALWAYS Hibernate定义刷新选项 MANUAL(Flush_NEVER过时) COMMIT AUTO ALWAYS 在S ...
SessionFactoryUtils支持JTATransactionManager和HibernateTransactionManager;被Spring内部HibernateTemplate或HibernateInterceptor使用,同时可由应用代码调用。它提供了事务或非事务性Session获取,释放,Hibernate异常转换,事务超时等功能。下面介绍主要方法 doGetSession 如果SessionHolder中存在Session,则检测sessionHolder是否事务同步,否则注册同步; 否则创建新的Session,注册同步并绑定线程 同步 ...
DEFAULT_KEY 存储Threadlocal Session(可能由OpenSessionInViewFilter/Interceptor获取,也可能由Spring激活时SessionFactoryUtils直接或间接调用获取) sessionMap 除了存放DEFAULT_KEY指定线程绑定的Session,还有hibernate配置中指定的 TransactionManager事务激活时的对应的javax.transaction.Transaction的Session,当Spring同步不处于激活状态且有JTA激活事务时创建 previousFlushMode Spring管理的 ...
提供一些静态方法用于管理可能参与事务的JDBC连接。JDBCTemplate 或JDBCDaoSupport自动使用它,而且在DataSourceTransactionManager或JTATransactionManager,hibernateTransactionManager中支持。 DataSourceTransactionManager中 DataSourceTransactionManager.DataSourceTransactionObject在事务开始时存储连接,事务完结后使用它获取连接以回复只读,隔离级别及释放连接。在事务挂起和回复时只是解除或重新绑定Holde ...
继承了ResourceHolderSupport功能,包装了一个JDBC连接,提供了创建和释放保存点支持,它有以下属性 connectionHandle JDO规范连接处理器,用户获取和释放JDBC连接,标准实现中释放方法不作任何处理。当事务挂起时,可能将connectionHandle置空 currentConnection Connection缓存,在第一次请求和释放之间,返回的就是它 transactionActive JDBC事务状态没有JTA中javax.transaction.Status那么丰富,用这个标志事务已经激活 savepointsSupported 底层JDBC ...

JDBCContext

成员变量 owner:session connectionManager:管理连接 isTransactionCallbackRegistered:是否注册回调 hibernateTransaction:JTATransaction或CMTTransaction事例 重要方法 borrowConnection由session.connection调用 public Connection borrowConnection() { return connectionManager.borrowConnection(); } connection由JDBCTr ...
AbstractPlatformTransactionManager是Spring提供事务支持的核心处理类,它的功能可大致划分 处理传播行为 处理挂起与恢复 检查只读标志,处理回滚 处理回调 了解事务传播行为 PROPAGATION_REQUIRED 支持已存在的事务或开启新 ...
资源Holder父类。它有以下几个属性 synchronizedWithTransaction 当Holder被注册到同步之后,为true,否则为false;同步处理完成之后,synchronizedWithTransaction被重新设置为false rollbackOnly 设置事务只读模式,JDBC并没有提供像JTA UserTransaction 的setRollbackOnly方法,所以在此增加这个属性标志底层事务回滚,Spring里叫GlobalRollbackOnly。当Spring事务提交时,会检查!shouldCommitOnGlobalRollbackOnly和G ...
Global site tag (gtag.js) - Google Analytics