Tag Archives: Red Hat

Bysutradi

Configurar Logging Profile no JBoss EAP 6.1

O JBoss EAP 6.1 contém um recurso chamado Logging Profile, que permite que as aplicações possam usar um profile de Log definido no servidor.

Porém, a documentação da Red Hat para o EAP apresenta somente a configuração necessária para usar o Logging Profile em standalone.

Se for usar seu EAP 6.1 em modo Domain, a configuração muda “ligeiramente” do que está na documentação da Red Hat.

Vou apresentar abaixo o que você precisa fazer.

1. Inicie seu JBoss em modo Domain.

2. Em uma outra janela  do seu terminal (ou CMD), execute o script jboss-cli.

./jboss-cli.sh -c

3. Execute os comandos abaixo para criar um Logging Profile, um Logging Handler.

/profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/:add
/profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/file-handler=MY_LOGGING_PROFILE_HANDLER:add(file={path=>"MY-LOG-FILE.log", "relative-to"=>"jboss.server.log.dir"})
/profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/file-handler=MY_LOGGING_PROFILE_HANDLER:change-log-level(level="DEBUG")
/profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/logger=com.mycompany.myapp:add(level=TRACE)
/profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/logger=com.mycompany.myapp:assign-handler(name="MY_LOGGING_PROFILE_HANDLER")

A diferença para a configuração na Red Hat é a definição do profile no início de cada comando.

Estes comandos alteram o arquivo domain.xml adicionando o trecho de código abaixo no profile “full-ha“.

<logging-profiles>
   <logging-profile name="MY_LOGGING_PROFILE">
        <file-handler name="MY_LOGGING_PROFILE_HANDLER">
            <level name="DEBUG"/>
            <file relative-to="jboss.server.log.dir" path="MY-LOG-FILE.log"/>
        </file-handler>
        <logger category="com.mycompany.myapp">
            <level name="TRACE"/>
            <handlers>
                <handler name="MY_LOGGING_PROFILE_HANDLER"/>
            </handlers>
        </logger>
    </logging-profile>
</logging-profiles>

4. Configure seu pom.xml para adicionar o nome do Logging Profile no MANIFEST.MF.

Para projetos WAR

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-war-plugin</artifactId>
	<version>2.3</version>
	<configuration>
		<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
		<archive>
		<manifestEntries>
      <Logging-Profile>MY_LOGGING_PROFILE</Logging-Profile>
    </manifestEntries>
    </archive>
	</configuration>
</plugin>

Para projetos JAR/EJB

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<version>2.4</version>
	<configuration>
		<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
		<archive>
		<manifestEntries>
      <Logging-Profile>MY_LOGGING_PROFILE</Logging-Profile>
    </manifestEntries>
    </archive>
	</configuration>
</plugin>

Estas configurações foram validadas em projetos WAR com JSF e projetos EJB 3, implantados no EAP 6.1 em uma configuração MASTER com 1 SERVER GROUP com 1 SERVER.

Momendo #ficadica

Aqui #ficadica para alguém da Red Hat fazer a adição em sua documentação do EAP para que outros profissionais possam otimizar suas configurações ao ler as documentações do produto.

Momento #naogostei

Agora que as configurações foram feitas e foram validadas tecnicamente em projetos, vou colocar aqui o que acabou me deixando um pouco frustrado com Red Hat / JBoss.

Me frustrou bastante o fato que a documentação do EAP (pelo menos para este item) apresentar somente configurações com foco no modo Standalone.

Outro ponto que achei ruim foi o fato que, os códigos de erro que os comandos me apresentaram durante esta aprendizagem, não foram encontrados em mecanismos de busca, aumentando o tempo necessário para encontrar uma solução.

Bysutradi

JSR 362: Portlet Specification 3.0

Lendo sobre a publicação de algumas JSR, encontrei uma que até então não tinha conhecimento: JSR 362: Portlet Specification 3.0.

Trata-se de uma nova versão para a implementação de portlets contendo as requisições abaixo:

  • Align with JEE 7 Specifications
  • Specify how resources can be shared between portlets
  • Improve support for mobile devices
  • Improve client-side support
  • Optimize support for Java Server Faces
  • Add Web Socket Support
  • Align portlets with the with OpenSocial standard
  • Extend the portlet eventing capability
  • Alignment with a future version of the WSRP specification
  • Additional extensions, corrections and clarifications to JSR 286

Esta JSR vem para mudar atualizar a especificação 2.0 que está disponível há mais de 5 anos (usando JavaEE 1.4) e deixaram os produtos um pouco defasados com as recentes atualizações da plataforma JavaEE, suas especificações e novos paradigmas de programação.

Esta JSR está na fase de formação dos membros, que de momento são:

  • eXo Platform
  • IBM
  • Liferay
  • Oracle
  • Red Hat

Senti falta da participação da OpenText, já que seu produto é um dos líderes de mercado em Web Content Management (junto com IBM e outros) de acordo com o Gartner.

Resta esperar o começo das atividades e liberação da primeira revisão. Esta JSR está prevista (inicialmente) para ser finalizada no fim de 2014, o que nos garantirá muitos lançamentos de produtos destes 5 concorrentes em 2015. Até lá, provavelmente estas empresas lançarão uma versão de seus produtos com algumas melhorias de funcionalidades para não ficaram estagnadas aguardando a finalização desta JSR.

Bysutradi

JUDCon2013: Brazil – JBoss AS (WildFly) na veia

Neste mês de Abril, dias 19 e 20, estive presente na JUDCon2013:Brazil, primeiro evento da Red Hat na América Latina sobre tecnologias da JBoss.

O primeiro dia distribuía palestras em 5 auditórios, o que acabou sendo um pouco frustante por não conseguir participar de algunas palestras interessantes.

Procurei participar de palestras mais práticas para melhor absorção de informações, já que minha intenção era assimilar maiores detalhes sobre o JBoss AS. Com isso, duas palestras foram fundamentais:

– Clustering for High Availability (HA) with JBoss AS 7 (Sergio Fantin);
– AS7, Domain Models, Cloud and how can I be on-demand? (Samuel Tauil, Bruno Rossetto Machado )

JUDCon_HA

O Sergio Fantin apresentou rapidamente alguns conceitos sobre JBoss AS, como sua execução em modo Standalone (único profile) ou Domain. Sua Demo continua 2 VMs com HTTP executando em mod_cluster. Me chamou a atenção a simplicidade da interface do console de administração do JBoss e a rapidez com que os profiles são parados/iniciados.

A palestra do Samuel/Bruno acabou complementando a palestra do Sergio. Apesar do título da paletra mencionar cloud, pouco falaram a respeito. Porém, deram mais detalhes técnicos sobre o JBoss. Detalhes sobre os profiles disponíveis:

– default

Subsistemas comumente carregados: logging, configadmin, datasources, ee, ejb3, infinispan, mail, jaxrs, jca, jdr, jmx, jpa, mail, naming, osji, pojo, remoting, resource-adapters, sar, security, threads, transactions, web, webservices and weld;

– ha (Alta disponibilidade)

default + jgroups e modcluster

– full

default + messaging (HornetQ), cmp, jacorb, jaxr, jsr77

– full-ha

full + jgroups e modcluster

Falaram sobre Server Groups (diferente de cluster), configuração de Domais (com Domain Controller : master/slave) e apresentaram uma topologia continua em cliente brasileiro (não mencionaram). Vejam a imagem.

JUDCon_AS-ArchitectureExample
E qual a diferença entre o JBoss AS 7 e o JBoss EAP 6? Tecnicamente, nenhuma. A questão é sobre a subscrição da Red Hat, onde no EAP ela garante suporte e atualizações. Inclusive, comentaram que ele já viu cliente usando o JBoss AS 7 em Produção (com ambiente estável).

Estas duas palestras foram excelentes.