2011-09-14 4 views
0

アプリケーションのセッションサイズを知りたいのですが、それを最適化するためです。このサイズを見つけるために、私はヒープダンプを行い、それを分析するマットを使用します。Seamのセッションサイズはどのくらいですか?

SeamはセッションBeanと会話Beanをどこに保存しますか?

私はorg.apache.catalina.session.StandardSessionにありましたが、目に見えないほど(このBeanには2オクテットしかありません)。

答えて

0

SeamはすべてをHttpSessionに格納します。

Name("someFilter") 
@Filter(around = { "org.jboss.seam.web.ajax4jsfFilter" }) 
@Scope(ScopeType.APPLICATION) 
@Startup 
@BypassInterceptors 
public class SomeFilter extends AbstractFilter { 

private static final LogProvider log = Logging.getLogProvider(SomeFilter.class); 

@SuppressWarnings("unchecked") 
public void doFilter(ServletRequest request, ServletResponse resp, FilterChain arg2) throws IOException, ServletException { 
    if (HttpServletRequest.class.isAssignableFrom(request.getClass())) { 
     HttpServletRequest req = (HttpServletRequest) request; 
     HttpServletResponse response = (HttpServletResponse) resp; 
     HttpSession session = req.getSession(); 
       if (log.isInfoEnabled()) { 
        List<String> attrNames = Collections.list(session.getAttributeNames()); 
        for (String o : attrNames) { 
         log.info("objects in session " + o); 
        } 
       } 
    } 
} 
+0

はい私もそれを発見しました。実際、マットにはヒープダンプを直接取得するのに問題があります。 jmapを使用すると、良いサイズが見つかりました。 – Kiva

関連する問題