Limitando o Número de Sessões no JBoss AS 6.1

Postado em Atualizado em

Existe uma maneira bem simples de limitar o número de sessões ( entenda-se usuários ) no JBoss. Para essa finalidade existe o atributo maxActiveSessions  que deve ser adicionado ao context.xml do jbossweb.sar. Siga os passos abaixo:

Edite o arquivo context.xml:

jboss-6.1.0.Final\server\default\deploy\jbossweb.sar\context.xml

Adicione o atributo maxActiveSessions:

<Context cookies="true" crossContext="true">

<Manager pathname="" />

<InstanceListener>org.jboss.web.tomcat.service.NamingListener</InstanceListener>

<Manager maxActiveSessions="2"/>

</Context>

Configuramos o JBoss para ter no máximos dois usuário conectados, quando o terceiro usuário se conectar a exceção “Exception initializing page context java.lang.IllegalStateException: createSession: Too many active sessions” será lançada  gerando o código HTTP 500.

Para realizar os testes tente realizar o login no jmx-console em três navegadores diferente.  Veja abaixo:

  • Google Chrome

  • Mozilla Firefox

  • Internet Explorer

Perceba que com o Google Chrome e Mozilla Firefox o JBoss já possui dois usuários conectados ao tentarmos acessar pelo Interner Explorer a página fica em branco pois o número máximo de sessões foi atingindo.

Caso seja necessário customizar a página de erro, os atributos abaixo devem ser adicionados no web.xml da aplicação desejada:

<error-page>
  <error-code>500</error-code>
  <location>error_500.jsp</location>
</error-page>

<error-page>
  <exception-type>java.lang.IllegalStateException</exception-type>
  <location>error_exception.jsp</location>
</error-page>

Veja abaixo a página customizada:

Espero que tenha ajudado.

Abraços

3 comentários em “Limitando o Número de Sessões no JBoss AS 6.1

    Marco disse:
    27 de abril de 2012 às 11:24

    Bom dia meu amigo, seu artigo está me ajudando muito.
    Estou com uma duvida em relacao a pagina de erro ( error_500.jsp e error_exception.jsp ) em qual diretorio devo colocar, já tentei deixar em diversos lugares e nao obtive sucesso.

    Mauricio Magnani respondido:
    27 de abril de 2012 às 12:50

    Olá amigo, que bom que está ajudando🙂

    Vc pode colocar no diretório de sua preferência… veja esse exemplo:

    http://www.adobepress.com/articles/article.asp?p=25445&seqNum=4
    http://www.java2s.com/Tutorial/Java/0400__Servlet/Seterrorpageinwebxml.htm
    http://www.tutorialspoint.com/servlets/servlets-exception-handling.htm

    Acho que nesse exemplo eu esqueci de colocar a “/”
    A noite arrumo.. qualquer dúvida ai só postar

    Abraços

    […] o post Limitando o Número de Sessões no JBoss AS 6, hoje vamos aprender como podemos limitar o número de sessões no JBoss AS […]

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s