terça-feira, 5 de novembro de 2013

Ajustes do openam para deploy no jboss


Caso queira instalar o OpenAm no Jboss AS 5.1, existem duas coisas que necessitam de atenção especial:


  • Jboss As 5.x usa o Tomcat 6.0.16 e isso afeta a manipulação de cookies.
  • Se você instalar o OpenAm no JBss 5.x usando metodo tradicional, "somente o arquivo" e apagar o arquivo openam.war do diretório de deploy, então o Jboss irá fazer o redeploy das aplicações em diferentes diretórios temporários toda vez que reiniciar o servidor e será necessário refazer todas as configurações
  • Problemas com o CLassloader
Para resolver o primeiro problema, modifique o run.con (ou run.conf.bat no Windows) passando para oa JVM a opção -Dcom.iplanet.am.cookie.encode=true
Exemplo:
...
# Specify options to pass to the Java VM.
#
if [ "x$JAVA_OPTS" = "x" ]; then
   JAVA_OPTS="-Xms128m -Xmx1024m -XX:MaxPermSize=256m
-Dorg.jboss.resolver.warning=true
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000 -Dcom.iplanet.am.cookie.encode=true"
fi
...
Para o segundo problema, caso você use o metodo tradicional de deploy "arquivo compactado" será necessário fazer o seguinte:
  1. Expanda o opwnam.war em um diretório temporário (use o comando jar com as opções xvf), Exemplo, no Linux: 
    Assuma que você tem o openam.war dentro do diretorio /home/teste/deployable-war 
    # cd /home/teste
    # mkdir exploded-openam
    # cd exploded-openam
    # jar  xvf /home/teste/deployable-war/openam.war
    # .... exploding files here ....
  2. Então edite o seguinte arquivo: WEB-INF/classes/bootstrap.properties Decomentando a linha "configuration.dir=" e modificando este ponto com o diretório onde você planeja guardas as suasconfigurações, por exemplo, vamos assumir que nos queremos colocar as configurações no diretório /home/teste/openamJboss.
    configuration.dir=/home/teste/openamJboss
  3. Salve o arquivo e gere o novo arquivo war:
    # jar cvf ../openam.war *
  4. Use este arquivo openam.war para  instalar no diretorio do seu JBoss 5.x
Uma segunda opção para resolver o segundo problema, você pode extrair o openam.war em um diretório de deploy depois configurar o OpenAM
  1. Va para o diretório de deploy da instancia do JBoss e crie um novo diretório chamado openam.war:
    # mkdir /shared/jboss-5.1.0.GA/server/default/deploy/openam.war
  2. Extraia o opemam.war dentro do diretorio
    # cd /shared/jboss-5.1.0.GA/server/default/deploy/openam.war
    # jar xvf /home/victor/deployable-war/openam.war
  3. Configure o OpenAM normalmente, veja o Deploy OpenAM para mais informações de como configurar o OpenAM
UCL Classloader issue
Crie o arquivo WEB-INF/jboss-web.xml  caso a aplição entre em conflitos com os demais jars durante o inicialização do servidor
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
  <class-loading java2ClassLoadingCompliance='true'>
    <loader-repository>
    jbia.loader:loader=opensso
    <loader-repository-config>java2ParentDelegaton=true</loader-repository-config>
    </loader-repository>
  </class-loading>
</jboss-web>

Fonte: https://wikis.forgerock.org/confluence/display/openam/Considerations+when+deploying+on+JBoss+AS+5.1

Nenhum comentário:

Postar um comentário