- 浏览: 92338 次
- 性别:
- 来自: 杭州
最新评论
-
dylan0514sina.cn:
youjianbo_han_87 写道dylan0514sin ...
方法缓存 -
youjianbo_han_87:
dylan0514sina.cn 写道youjianbo_ha ...
方法缓存 -
dylan0514sina.cn:
youjianbo_han_87 写道缓存方法有意义吗,方法+ ...
方法缓存 -
youjianbo_han_87:
缓存方法有意义吗,方法+调用从缓存中取内容的方法 换成 方法+ ...
方法缓存 -
dylan0514sina.cn:
Shen.Yiyang 写道剔除策略只有方法执行的时候指定ke ...
方法缓存
文章列表
同步处理是Spring事务支持主要内容之一,也是其它框架的内容之一.Spring事务同步处理类是org.springframework.transaction.support.TransationSynchronization.
成员变量
status_committed 事务提交成功
status_rolled_back 事务回滚成功
status_unknown 由异常引起的事务状态。这些异常可分为启发式异常和系统异常。启发式异常全部是处理JTA事务时出现的,所谓“启发式”就是在二阶段事务提交期间,有些或全部参与事务的资源管理器作出智能化决定,做出有违请求的处 ...
事务模型
java事务模型可分为三类:本地事务模型, 编程事务模型, 声明事务模型
本地事务:由资源管理器处理,比如JDBC Connection,通过设置自动提交模式是否禁用来使用事务,也就是说事务处理与Connection直接相关
...
三种事务的创建由对应的JDBCTransactionFactory,JTATransactionFactroy,CMTTransactionFactory完成
这三者区别在
connectionReleaseMode
JTATransactionFactroy和CMTTransactionFactory连接释放模式执行每条语句后释放连接,JDBCTransactionFactory事务提交后释放,因此jta事务连接的重用高
TransactionManager
JDBCTransactionFactory和JTATransactionFactroy不需要Tra ...
TransactionManagerLookupFactory.getTransactionManagerLookup根据hibernate.transaction.manager_lookup_class确定TransactionMangerLookup,简要介绍TransactionMangerLookup
public TransactionManager getTransactionManager(Properties props) throws HibernateException//获取JTA 事务管理器
public String getUserTransact ...
hibernate提供org.hibernate.connection.ConnectionProvider获取jdbc连接,ConnectionProvider实现类包括
DriverManagerConnectionProvider
DateSourceConnectionProvider
UserSuppliedConnectionProvider
C3P0ConnectionProvider,ProxoolConnectionProvider
简要说说这些实现
DriverManagerConnectionProvider用List维护连接,当jvm调用f ...
log:打印日志(废话)
callback: 回调类:在 打开连接,关闭连接,事务状态时机定义动作
factory:供应ConnectionProvider以提供连接,Batch以管理Statement
releaseMode:释放模式
connection:连接缓存
borrowedConnection:连用连接缓存
wasConnectionSupplied:提供的连接是被客户端提供的而非ConnectionProvider
batcher:管理Statement
interceptor:拦截器,给batcher用
isClosed:该类实例是否关闭
isFlushi ...
AFTER_STATEMENT 每条SQL执行完马上释放
AFTER_TRANSACTION 事务结束之后释放
ON_CLOSE session关闭或失去连接之后释放
// $Id: ConnectionReleaseMode.java 8409 2005-10-14 20:28:18Z steveebersole $
package org.hibernate;
import java.io.Serializable;
/**
* Defines the various policies by which Hibernate might release its ...
JConsole,JVisualVM
- 博客分类:
- tomcat6
JConsole,JVisualVM都是JAVA自带的监测工具,在%JAVA_HOME%\bin下
JConsole使用官方文档http://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html
直接在cmd下 jconsole就可启动;jconsole等都是监测进程级的JAVA应用。当启动jconsole时会自动监测本地的JAVA进程.在本地配置好tomcat应用之后,可以以两种方式启动:startup.bat或
tomcat6.exe,对于startup.bat方式的启动,因为是进程级的JAVA应用,所 ...
环境变量及批处理文件
- 博客分类:
- tomcat6
service.bat
CATALINA_HOME 用来定位Tomcat目录
CATALINA_BASE service.bat脚本认为这包含可执行的bin\tomcat6.exe,如果CATALINA_BASE没配置,则使用
定位\logs
CATALINA_HOME
JAVA_HOME service.bat脚本用它来定位虚拟机:先查找\jre\bin\server\jvm.dll,如果不存在则查找\jre\bin\client\jvm.dll
startup.bat
完全依赖catalina.bat
catalina.bat
使用s ...
如果TOMCAT发布为windows服务,则用CATALINA_BASE\bin下的tomcat6w.exe管理工具,在“JAVA选项卡”中设置
JAVA_Options
可能看到已经有一些环境变量(观测gc文件的详细信息,通过配置堆大小减少GC次数。同时配置ims_heap.hprof获取堆爆掉时堆信息,可用jdk自带的jvisualvm查看),追加如下参数
-Xloggc:D:\ims\logs\ims_gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=D:\ims\logs\ims_heap.hprof
...
JVM介绍文章http://kangzye.blog.163.com/blog/static/36819223201199103346634/
-Xloggc设置gc日志文件,-XX:+Heap*设置OOM时的堆信息
系统上线时常断掉,最可能的是应用程序与GC程序并发执行,切换而导致系统访问出错
TOMCAT6w发布为服务时,默认采用的是Server模式,在此模式下JVM分代垃圾收集器采用的是
年轻代 并行回收收集器(采用复制算法(对存活少的比较有效,比如年轻代),多线程的,独占式的可用于年老代的收集器。非常关注吞吐量,但吞吐量经常与停顿时间成反比,它也提供了好几个参数以牺牲吞吐量来降低停顿时间 ...
Apache可做Tomcat集群,也可使用ProxyPass代理。Apache充当的代理服务器,转发请求到Tomcat服务器
其中,涉及到服务到后端服务器的连接池的一些配置。
具体配置信息参考ProxyPass官方文档。事例如
ProxyPass /ims http://localhost:8080/ims retry=0 smax=10 max=40 ttl=120
ProxyPassReverse /ims http://localhost:8080/ims retry=0
根据系统需求,我们从几个维度对角色分类:第一个维度是在用户的角色维护上,直接对用户进行角色分配,或当用户和项目发生调动关系时,动态的维护用户的角色;第二个维度是是否属于公司职位,或系统维护类;第三个维 ...
假设有集合:menuNames存放菜单名,tops存放顶级菜单名;Map:weights存放菜单名与对应的菜单编号,临时变量base
前置条件:1.菜单不能重名 2.顶级菜单项不能大于(1-9)9, 同级子菜单项不能大(0-9)10。
后置条件:weights集合存放了所有的菜单和编号
从”menu” Sheet第二行从左到右扫描
对于最左项,如果menuNames中不存在,则将菜单名放入tops,并将菜单名和Top数量放入weights;记录top数量到base
如果存在,从weight中根据菜单名得到编号并放入到base
向右扫描,迭代每一项
如果项值为空,退出
weights中放入菜单名, ...