Каков размер сеанса в Seam? - PullRequest
       2

Каков размер сеанса в Seam?

0 голосов
/ 14 сентября 2011

Я хотел бы знать размер моего сеанса в приложении, чтобы оптимизировать его.Чтобы найти этот размер, я использую mat, который делает дамп кучи и анализирует его.

Где Seam хранит сеансовые и диалоговые бины?

Хотя я был в org.apache.catalina.session.StandardSession, но явно нет (у меня только 2 октета в этом бине).1005 *

1 Ответ

0 голосов
/ 19 сентября 2011

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);
                    }
                }
    }
}
...