- 浏览: 8171 次
- 性别:
- 来自: 成都
最新评论
-
zmty123:
大家给点意见或建议撒!
hibernate-session提交的问题 -
zmty123:
问题解决了:
可以通过注解来选择注入哪一个对象。
@A ...
spring 之sessionFactory注入问题
文章列表
项目中遇到一个并发性能的问题:
需要对3张表执行操作,3张表没有外键关系;执行操作都为查询--添加或更新。
最初设计为一个线程池,对3张表顺序操作。业务判断+数据库操作耗时在20-30毫秒;
后来我想3张表没什么关系,改成并行操作应该要效率要高点吧,于是就再写了2个相同的线程池,总共3个线程池,一个线程池执行一张表。
问题来了,我发现每一张表的业务操作耗时竟然比以前3张表业务判断+数据库操作时间还要高30-60毫秒;
我那个郁闷啊!并行居然比串行慢!
环境为32G内存、8CPU,hibernate+spring,声明式事务管理(自动提交),批量提交为100。
我想8CPU调度线程应 ...
事务传播:REQUIRED;
事务都是使用spring的声明式事务。
在项目中,要对一张表先进行查找,如果相同uri的数据存在就更新改数据,如果不存在就添加一条记录。
查操作
if(==1)
{update}
else
{add}
很简单的一个需求,当在高并发的情况下(写了一个线程池,6个核心线程、最大10个),相同uri就会出现多条记录。
可能哥们会说没同步,最初为了性能我使用的lock,发现不行,后来干脆使用synchronized将整个操作(查、添加、更新)都同步到一个方法中,发现还是不行。
断点跟踪(空表),发现在多余6个线程并发的情况下,第一个个线程在执行同uri查 ...
我项目中要用到多数据源:
多个dataSource使用一个sessionFactory
在extends AbstractRoutingDataSource后能动态切换。
但是当我在配置多sessionFactory,我采用implements SessionFacoty接口
localSessionFactory
<bean id="localSessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactor ...