论坛首页 Java企业应用论坛

请问session的一级cache的timeout时间是多少?

浏览 4739 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-11-26  
就算不用JCS,只要session里有这个对象,一样不需要去数据库里重新取。

问题就是用ThreadLocal管理session之后,多次访问同一个servlet或者jsp,很多时候会用的是同一个线程,拿到的session应该也是同一个,那就不去数据库里取数据了,那这个cache要多久才会过期呢?能不能自己设置?
   发表时间:2003-11-26  
missingu 写道
就算不用JCS,只要session里有这个对象,一样不需要去数据库里重新取。

问题就是用ThreadLocal管理session之后,多次访问同一个servlet或者jsp,很多时候会用的是同一个线程,拿到的session应该也是同一个,那就不去数据库里取数据了,那这个cache要多久才会过期呢?能不能自己设置?


你都在说些啥?每句话都从头错到尾。
0 请登录后投票
   发表时间:2003-11-26  
就是一个简单的test方法,里面get一个session,然后session里load一个对象,然后把session close了。

main方法里连续运行这个test方法两次,第一次从数据库取数据,第二次就没有从数据库里拿了
0 请登录后投票
   发表时间:2003-11-26  
引用
第一次从数据库取数据,第二次就没有从数据库里拿了


你怎么判断出第二次没有去数据库拿的?
0 请登录后投票
   发表时间:2003-11-26  
第二次查询的时候没有把sql 打印出来,是不是就是说没有向数据库发sql了?
0 请登录后投票
   发表时间:2003-11-26  
把程序和映射文件贴出来看看
0 请登录后投票
   发表时间:2003-11-26  
missingu 写道
就算不用JCS,只要session里有这个对象,一样不需要去数据库里重新取。

问题就是用ThreadLocal管理session之后,多次访问同一个servlet或者jsp,很多时候会用的是同一个线程,拿到的session应该也是同一个,那就不去数据库里取数据了,那这个cache要多久才会过期呢?能不能自己设置?


使用ThreadLocal 管理 session ,你怎么释放这个session 呢?
难道锁定在Thread中?
0 请登录后投票
   发表时间:2003-11-26  
找到原因了,代码和映射文件都没问题,是我误解了session.load()和JCS的用法。

因为之前看到有个关于JCS跟存储过程的帖子说,Session.load()有可能完全不从数据库里取数据,因而都有可能跟JCS的cache数据不一致,这是没错的;同时又看到说只有Iterator 才从JCS里取数据,就误以为Session.load()是不会从JCS里取数据的,只会从session自己的cache里取。如果看看hibernate的源代码应该就不会返这种错了.......

结果就是以为JCS对session.load没影响,所以<jcs-cache usage="read-write"/> 没有注释掉........

浪费了Robbin这么多时间:(
0 请登录后投票
   发表时间:2003-11-26  
释放session的代码:

    public void release();
    {
        Session ses=(Session);mSessionTLS.get();;

        if(null==ses);
        {
            return; // there is no session to release
        }

        mSessionTLS.set(null);; // sets thread's session to null

       try
       {
             ses.close();;
       }
       catch(HibernateException he);
       {
            if(mLogger.isDebugEnabled(););
            {
                 mLogger.debug("HibernateUtils.exceptionClosing", he);;
            }
       }
    }
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics