Posts

Showing posts with the label jboss

JBoss Remote Debug and Port Configuration

Image
Is quite common you need debug JBoss remotely, basically you may have an Linux server running it for Development or QA environment. In order to be able to debug JBoss in your machine you just need change one configuration file. Open the file $JBOSS_HOME \bin\run.conf in your favorite text editor an serach for this lines: # Sample JPDA settings for remote socket debugging # JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" You new uncoment the last line, like the following sample: # Sample JPDA settings for remote socket debugging<br>JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"<br> The parameter address is the port that JBoss will be listing to remote debug. Now you can open eclipse an run and remote debug like the following sample: 1. Create a new Remote Java Application Debug configuration. 2. Select your project, remember that must be an EAR or WAR(You can use jar...

Cache Distribuído com REST e EHCache Server no JBoss AS

Image
As aplicalções que desenvolvemos hoje são cada vez mais complexas, esta complexidade se deve a muitos fatores que vão des da globalização até mesmo as evolução da forma como as empresas fazem B2B e B2C . Muitas vezes o banco de dados acaba sendo um cargalo, uma vez que a sua rede esta 100% ok, uma forma viável de reduzir a carga no banco de dados é utilizar alguma forma de cache, se este cache tiver *hit*, ou seja, acertos em uma taxa considerável isso pode trazer muitas vantagens para a sua aplicação. Cache com EHCache EHCache é um solução open source de cache para Java. O EHCache lhe permite fazer vários tipos de cache como por exemplo aplicar cache junto ao Hibernate/JPA, cache de páginas web usando GZIP por exemplo e até mesmo cache distribuido que é o tema deste post. EHCache - Arquitetura Modular O EHCache tem uma arquitetura modular, logo você pode escolher os módulos que deseja utilizar. Neste post vou mostrar como trabalhar com o Cache Server. REST EHCache Serve...

Resource Adapter do ActiveMQ para JBoss

Image
Neste post vou mostrar como trabalhar com JMS dentro do JBoss AS mas usando o ActiveMQ , para tal tarefa é necessário um Resource Adapter . O JBoss AS 5 tem como provider de messageria padrão o JBoss Messaging , vou mostrar como se configura o servidor de aplicação para acessar o broker de messageria de Apache o ActiveMQ. Para isso vamos utilizar as seguintes versões dos softwares: JDK 6 update 20 JBoss AS jboss-5.1.0.GA Apache ActiveMQ 5.3.2 Uma vez que você tenha baixadoos 3 podemos proceguir. Extraia o ActiveMQ em algum diretório de sua máquina e criei um variável de ambiente apontando para o local da instalação, esta variavel deve se chamar $ACTIVEMQ_HOME , você deve fazer o mesmo procedimento para o JBoss AS mas a váriavel de ambiente deve se chamar $JBOSS_HOME . Estou assumindo que você já instalou o JDK 6 do java e criou a váriavél de ambiente para o $JAVA_HOME . Instalando o Resource Adapter no JBossAS Vá para o diretório $ACVTIVEMQ_HOME/lib/optional e procure ...

JBoss HornetQ component for Apache Camel (English Version)

In a previous post i wrote about the Apache Camel project. Camel is an excellent solution for system integration. Recently JBoss launched their new product, the new generation of messaging system: HornetQ which i have posted about it . In this post i came to show a very simple component for the integration of Apache Camel with JBoss HornetQ. This is the very first version of the component and i will improve incrementally. This version is still beta, has some limitations but you'll be able to work with the Camel URI using my component to access the queues and topics of HornetQ. Download and Usage You can download the source code from my Subversion repository: http://diegopacheco.svn.beanstalkapp.com/sandbox/trunk/community/hornetq-camel-component once you have downloaded you must install the component using the Apache Maven. Just type in the command line (in the root folder of the project) the following command: $ mvn clean install Then you're ready to use the compon...

JBoss HornetQ component for Apache Camel

Em um post anterior eu falei sobre o projeto Apache Camel que é um excelente solução para integração de sistemas . Recetemente a JBoss lancou seu novo produto de ultima geração em messageria o HornetQ, em outro post passado escrevi sobre a solução também. Neste post vim mostrar um componente muito simples que fiz para realizar a integração do Apache Camel com o JBoss HornetQ. Esta é a primeira versão do componente, pretendo ir melhorando o componente de forma incremental aos poucos na sequencia, esta versão ainda é beta, tem algumas limitações. Mas já é possivel você trabalhar com as uri usando o meu componente para acessar as filas e topicos do HornetQ. Download e Uso do Componente Você pode baixar os fontes do meu repositório do Subversion: http://diegopacheco.svn.beanstalkapp.com/sandbox/trunk/community/hornetq-camel-component uma vez que você tenha feito o download você tem que instalar o componente usando o Maven. Para fazer isso digite na pasta do projeto o seguinte co...

HornetQ: Simples, Performatico e Zumbido

Image
é a terceira geração de soluções em Mesageria da JBoss , sucessora do JBoss Messaging , vem agitando o mercado de mesageria nos ultimos meses. Toda esta agitação não se deve só pelo fato de ser um produto totalmente novo com uma base de código nova em relação ao JBoss messaging(padrão de mesageria no JBoss EAP e JBOSS AS 5.0), mas pelo fato de sua performance bater os resultados anteriores da Spec . Com a performance superior ao resultado anterior superando 307% , realmente é um número bem impressionate e que reflete o trabalho focado em performance da sua equipe de desenvolvimento. Este trabalho focando em performance tem dois elementos fundamentais: Netty e Persistência. Netty é um framework focado para construir aplicações que tiram o máximo de performance da rede usando eventos de forma assíncrona. Ele foi criado por Trustin Lee que é o fundador dos projetos Apache Mina e Apiviz . O Transporte é basicamente delegado ao Netty quando o cliente e o servidor estão em diferentes m...

JBoss 5.0.1.GA, EJB3, Maven2 e Cargo Juntos e na Prática

Neste post vou mostrar como criar um projeto EJB 3 bem simples usando Maven 2. Vamos fazer o deploy no JBoss 5.o.1.GA através do plugin do maven do cargo. Além disso vamos criar um projeto cliente que acessa o EJB criado através de JNDI. Meu objetivo é mostrar de uma maneira simples e que funciona :) como usar maven 2 com projetos ejb3, de barbada vamos fazer o deploy no JBoss 5.0.1.GA, no fim do post você irá encontrar os códigos fontes e bem como as dependências(jars) da aplicação cliente. Criar uma aplicação Java com Maven é realmente muito fácil mais quando falamos de fazer um deploy no servidor com o cargo usando o plugin do maven as coisas não são tão simples, por que a documentação do Cargo não é 100% intuitiva e faltam exemplos práticos de como usar as configurações. Além disso o JBoss 5 ainda não está 100% com o maven 2, mais para frente do post vocês irão entender o por que disso. Cuidado com o JDK Recomendo que você use um JDK acima do JDKu10 , eu estou usando no mom...

De força ao Usuário com o Drools parte 3

Nos posts anteriores falei sobre o Drools e como ele poderia ser uma boa solução de BRMS. Agora vou mostrar outra forma de expor uma regra de negocio do seu sistema. A idéia agora é expor as regras com a linguagem do usuário. Isso possibilita que usuário com menor conhecimento de tecnologias consigam modificar o comportamento do sistema de uma maneira segura e eficiente. Recomendo que você leia os dois posts anteriores para uma melhor compreensão deste post: De força ao Usuário com o Drools parte 2 De força ao Usuário com o Drools parte 1 Utilizarei boa parte do código do exemplo anterior. A DSL pode ser internacionalizada para outros idiomas, isso seria útil se o seu sistema roda em diversos países e você tem pequenas variações nas regras de pais a pais. Mas o que é um DSL? D omain S pecific L uanguage são linguagens para domínios bem específicos. Você pode estar pensando que nunca usou isso ou nunca vai usar, se esse for seu caso você não esta ligando o nome a pessoa. E...

De força ao Usuário com o Drools parte 2

No post anterior fiz uma contextualização sobre parametrização em sistemas e sobre BRMS. Agora mostrar através de um exemplo simples como o Drools poderia ser utilizado para parametrizações em um sistema. O meu exemplo vai ser simples. A arquitetura esta longe de ser a mais adequada, mas ela é funcional e serve para mostrar como usar o Drools em conjunto com o Spring Framework . Nesse exemplo criei um pequeno modelo de objeto. A idéia principal é mostrar como as regras de negocio são parametrizadas através de uma planilha MS Excel e como isso é processado através de um service que fica no Contexto do Spring. Aqui temos uma aplicação de locação de carros, imagine que o valor do aluguel varia muito, dependendo do humor do locador e da cor e do modelo do carro, então provavelmente você teria que atender a diversas solicitações de mudança para isso. Vamos colocar essas regras de tarifa em uma planilha MS Excel. Não se atenha a baixa complexidade da regra pois meu goal aqui é mostrar...