terça-feira, 12 de agosto de 2008

JBoss 4.2.3.GA

Pouco antes de sair o tão esperado JBoss 5, foi lançado o JBoss 4.2.3.GA que tem como principal característica, além das correções de bugs referentes à versões anteriores, a possibilidade de ser compilado com Java 6 descrita na Feature Request JBAS-4501.

Vale lembrar que o suporte a JDBC 4 deve ser considerado como modo experimental.

Esta General Availability (GA) foi disponibilizada no dia 18 de julho de 2008 (demorei um pouco para postar...)

Release Notes:
https://sourceforge.net/project/shownotes.php?release_id=614346&group_id=22866

JPS - Process Status Tool

Após alguns longos meses estou voltando a postar nesta madrugada de quarta-feira (13/08/2008) enquanto aguardo a finalização de alguns testes.
Existe uma ferramenta muito útil e de fácil utilização chamada JPS, a qual lista os processos Java startados no seu Sistema Operacional.

Bem melhor que digitar ps aux | grep java! :)

Exemplos:

[bmachado@bmachado ~]$ jps
5343
30286 Jps
30271 Main

[bmachado@bmachado ~]$ jps -l
5343
30456 sun.tools.jps.Jps
30271 org.jboss.Main

[bmachado@bmachado ~]$ jps -m
5343
30529 Main -c node1
30664 Jps -m


Mais informações:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html

terça-feira, 1 de julho de 2008

Open TDC - 2008

No dia 28/06 aconteceu o Open TDC da GlobalCode o qual contou com palestras muito legais sobre JavaSE, JavaEE, metodologias e tendências tecnológicas.

Apresentei a palestra Administração do JBoss Application Server que dava algumas dicas sobre ambiente de produção, performance, tuning, balanceamento de carga e monitoramento de um ambiente utilizando JON (JBoss Operations Network).

Foi uma experiência muito gratificante poder participar de um evento bacana ao lado de pessoas tão bem relacionadas no mercado Java.

Como disse na palestra, só tenho a agradecer a todas as pessoas que compareceram, pois era uma manhã fria de sábado, e mesmo assim estavam lá para assistir palestras sobre Java. :)

Aproveitei para rever alguns amigos das antigas como Dr. Spock que também palestrou no evento.

Valeu Edgar e David pelo apoio e confiança.

Veja algumas fotos abaixo:



Exemplo de balanceamento de carga 2 JBosses com Apache e mod_jk




Lançamento de camisetas


Pessoal pulando para pegar a camiseta :)
Eu, Edgar Silva (Solutions Architect JBoss) e David Barzilay (Gerente de Marketing da Red Hat BR)

Mais fotos aqui.

quarta-feira, 11 de junho de 2008

JBoss Resteasy JAXRS: REST in Peace

Estou aproveitando a noite para colocar alguns posts em dia... obs.: Sport 2x0 Corinthians - Sport bate Corinthians e leva Copa do Brasil pela 1ª vez...

Em um dos dias de consultoria, retornei ao escritório para conversar com o Edgar sobre um dos projetos. Ao chegar, o vi muito empolgado com REST - (JSR 311: JAX-RS: The JavaTM API for RESTful Web Services), que está se tornando cada vez mais popular como alternativa para arquiteturas baseadas em SOAP.

É uma spec que tem por objetivo disponibilizar uma API em Java para o rápido desenvolvimento de REST ful WebServices totalmente baseada em anotações (Java 5).

No fundo, a explicação mais básica para o objetivo da API é uma forma rápida de desenvolver um retorno (que pode ser um XML, Texto, etc) sem precisar saber de Servlets ou JAX-WS, por exemplo... :) ... de forma padronizada. O que torna o desenvolvimento muito produtivo.

Atualmente para implementar REST em Java acaba sendo um pouco sofrível, e esta JSR veio para facilitar e agilizar nossa vida.

Aproveitem para ver um mini-tutorial de fácil entendimento sobre JBoss Resteasy feito pelo Edgar.

JBoss Messaging 2.0 Alpha

Estou meio atrasado com o post sobre o JBoss Messaging 2.0 Alpha, mas vale a intenção :).

Dia 02/06 foi lançada a mais nova versão do JBoss Messaging, a qual tem foco em performance e o principal objetivo é ser a número 1 em providers de mensageria open-source.

Abaixo algumas das principais características:
- Arquitetura 100% baseada em POJOs
- Pode ser executado fora do JBoss AS, ou seja, independente do JBoss AS... não precisa ter o Application Server de pé.
- Alta performance utilizando Journal, podendo ser executado via Java NIO ou Linux Asynchronous IO
- Utilização de Apache MINA

Veja algumas comparações com outros providers, incluindo o JBossMQ e ActiveMQ:
http://www.jboss.org/file-access/default/members/jbossmessaging/freezone/docs/userguide-2.0.0.alpha1/html/performance.html#performance.results

Referências:
User Guide: http://www.jboss.org/file-access/default/members/jbossmessaging/freezone/docs/userguide-2.0.0.alpha1/html/index.html
Tim Fox's blog: http://jbossfox.blogspot.com/2008/03/high-performance-persistence-with-jboss.html
Clebert Suconic's Blog: http://clebertsuconic.blogspot.com/2008/05/speeding-up-io-on-files.html

quinta-feira, 20 de março de 2008

Alterando Portas do JBoss

Um dos maiores problemas que muitos administradores JBoss passam é como subir mais de uma configuração na mesma máquina. Há algumas formas de realizar isto, uma delas é criar um IP virtual e subir o JBoss com o parâmetro -b.

Exemplo:
./run.sh -c <configuracao> -b <host>

Outra forma é subir as duas configurações trocando as portas comuns para evitar conflitos. A forma mais fácil de trocar as portas é alterar o arquivo conf/jboss-service.xml descomentando o MBean org.jboss.services.binding.ServiceBindingManager e alterando o atributo ServerName para ports-02 ou ports-03, ou ports-n.

Exemplo:

<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-02</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>

A instalação do JBoss AS já disponibiliza um arquivo exemplo para o binding das portas, o ideal é copia-lo para o diretório conf da sua configuração customizando conforme seja necessário. Exemplo: /server/conf/port-bindings.xml
ou copia-lo no diretório server adicionando todas as possibilidades de binding de portas para cada configuração do JBoss. Exemplo:
/server/port-bindings.xml

Referências:
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossRunParameters
http://www.jboss.org/wiki/Wiki.jsp?page=UsingJBossBehindAFirewall
http://wiki.jboss.org/wiki/Wiki.jsp?page=ConfiguringMultipleJBossInstancesOnOneMachine
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossDTDs

quarta-feira, 5 de março de 2008

De UTF-8 para ISO-8859-1 e vice-versa

Para converter arquivos UTF-8 para ISO-8859-1 e vice-versa no Linux pode-se utilizar o iconv ou o recode.
No Blog do Mitre há bons exemplos do iconv:

Resumindo:
iconv -f utf-8 -t iso-8859-1 arquivo > novo_arquivo