JBoss Portal default bind address (windows!)
Dezembro 30, 2007 on 3:04 am | In Sem categoria | No CommentsEscrevi aqui sobre como alterar o default bind address do JBoss Portal. Apesar de não o ter dito explicitamente, as instruções aplicam-se exclusivamente a ambientes UNIX/Linux. Este artigo contém as instruções para a plataforma Windows.
Em Windows, o JBoss Portal instala-se como um serviço, recorrendo para isso a um script chamado:
installJBoss402.bat
Nesse script, a linha que efectivamente regista o serviço no Windows é a seguinte:
JBossPortal262Service.exe -install %SERVICE_NAME% %JDK_HOME%\jre\bin\server\jvm.dll -Djava.class.path=%JBOSS_HOME%\run.jar;%JDK_HOME%\lib\tools.jar -Dlocal.copy=false -Xms256m -Xmx512m -XX:MaxPermSize=128m run.jar -start org.jboss.Main -stop org.jboss.Main -method systemExit -out %LOGS_HOME%\stdout.log -err %LOGS_HOME%\stderr.log -current %JBOSS_HOME% -manual
Para conseguir trocar o default bind address é preciso passar a mesma propriedade que referi no artigo anterior à classe que arranca o JBoss. Isso pode ser feito modificando a linha anterior da seguinte forma:
JBossPortal262Service.exe -install %SERVICE_NAME% %JDK_HOME%\jre\bin\server\jvm.dll -Djava.class.path=%JBOSS_HOME%\run.jar;%JDK_HOME%\lib\tools.jar -Dlocal.copy=false -Xms256m -Xmx512m -XX:MaxPermSize=128m run.jar -start org.jboss.Main -params -Djboss.bind.address=<ip_address> -stop org.jboss.Main -method systemExit -out %LOGS_HOME%\stdout.log -err %LOGS_HOME%\stderr.log -current %JBOSS_HOME% -manual
A posição do parâmetro adicional é relevante! Deve aparecer imediatamente a seguir ao valor da opção -start.
A título de curiosidade, podem encontrar aqui uma lista de todos os parâmetros que controlam o funcionamento do JavaService.
Os créditos vão todos para o Manuel Costa que não desistiu enquanto não descobriu a solução correcta.
WebSphere headless
Dezembro 17, 2007 on 11:56 pm | In Sem categoria | No CommentsUma nota muito rápida sobre como conseguir que aplicações a correr em WebSphere possam usar classes do toolkit AWT sem que exista um ambiente gráfico funcional.
Para os apressados como eu a forma mais simples é definir como verdadeira a propriedade de sistema java.awt.headless, mas a teoria toda está muito bem explicada neste artigo da Sun.
Passar a propriedade no script que inicia o WebSphere, apesar de tentador, não funciona. O script de arranque do WebSphere faz apenas o bootstrapping do application server e a JVM que lança termina no final desse processo. A forma correcta está indicada nesta technote da IBM e passa por usar a consola de administração:
Servers > Application Servers > server1 > Process Definition > Java Virtual Machine > Generic VM Arguments
ou, alternativamente, editar directamente o ficheiro de configuração apropriado:
{$WAS}/config/cells/DefaultNode/nodes/DefaultNode/servers/server1/server.xml
JBoss Portal default bind address
Dezembro 12, 2007 on 12:18 pm | In Sem categoria | 5 CommentsNas últimas versões, o JBoss Portal cria os conectores http(s) apenas na interface localhost. Isto serve perfeitamente para ambientes de desenvolvimento e para cenários em que o JBoss só vai ser exposto através de um reverse proxy que corre no mesmo servidor. No entanto, se se pretender expôr directamente o JBoss na rede é necessário mudar este comportamento.
Os conectores são definidos em:
JBOSS_HOME/server/default/deploy/jboss-web.deployer/server.xml
e usam todos a variável:
${jboss.bind.address}
Há vários documentos (como por exemplo este) que sugerem substituir a variável directamente pelo IP pretendido. No entanto, esta variável é utilizada em muitos outros sítios (por exemplo pelo RMI e JNDI) e seria bem mais simples e limpo alterar a variável no arranque do servidor.
A primeira coisa que me ocorreu foi modificar o script de arranque:
JBOSS_HOME/bin/run.sh
acrescentando a seguinte linha:
JAVA_OPTS=”$JAVA_OPTS -Djboss.bind.address=`hostname`”
Mas não funcionou. A variável continuava a vir inicializada com o valor “localhost”.
Ao fim de muito procurar descobri esta resposta a um post. A única diferença entre o sugerido e aquilo que fiz, é que a definição da variável é passada como argumento ao script de arranque (que por sua vez a passa para o comando que é executado), em vez de ser definida em JAVA_OPTS e passada directamente à JVM.
Não percebo inteiramente porque é que isto funciona, por isso se alguém me souber explicar, agradeço!
Curiosidade: há um documento no wiki do JBoss Portal que sugere e explicar como usar iptables para publicar o JBoss Portal!
O mundo está perdido…
Dezembro 11, 2007 on 5:09 pm | In usability | 4 Comments… quando são precisas instruções para abrir e fechar uma torneira!

SQLServer Create Database if it doesn’t exist
Dezembro 10, 2007 on 11:24 am | In Sem categoria | 2 Commentsgood:
if not exists(select * from sys.databases where name = ‘Testing’)
create database testing
better:
if db_id(‘dbname’) is null
create database testing
best?…
Source: Microsoft Forums
© procself. Este blog está alojado no FEUP Blogs.
Crie também o seu blog.
Subscreva os Artigos (RSS)
e os Comentários (RSS) do procself.