Introdução ao JBoss AS 7.1 – Parte 1

Postado em Atualizado em

Atualmente a plataforma Java é a mais utilizada no mundo, muito disso se deve á capacidade da plataforma de suportar outras linguagens com JRuby, Groovy, Scala,  entre outras. Milhares de aplicativos para Web e Mobile são desenvolvidos a cada mês utilizando a plataforma como base. Mas a plataforma mudou muito desde de seu início, e provavelmente vai continuar a  mudar nos próximos anos. A Oracle promete inúmeros avanços para a linguagem Java e a plataforma. Em paralelo com essas mudanças, visualizamos os servidores de aplicação que cada vez mais oferecem recursos de alta complexidade, como serviços de mensageiria, distribuição de dados em grid, serviços de monitoração, etc. Originalmente os servidores foram projetados para serem simplesmente web containers, rodando aplicações baseadas em JSP/Servlets e posteriormente portados para EJB containers, passando a oferecer serviços acessíveis remotamente.
Atualmente um dos grandes desafios dos servidores de aplicação é acoplar serviços de grande complexidade, deixando-os estáveis e flexíveis.
Essa é a promessa do JBoss AS 7, que trás novas especificações do JavaEE6, e muitos outros recursos que prometem facilitar e muito o desenvolvimento de aplicações corporativas utilizando a plataforma Java.
Hoje vamos iniciar uma séries de posts sobre o JBoss AS 7, utilizando o JDK 7. Meus planos para esses posts são de realmente ir do básico ao avançado, o que vai me ajudar muito a melhorar o meu conhecimento🙂
Algumas coisas serão um pouco repetitivas, e outras eu já até postei aqui mesmo no blog, mas o plano aqui é fazer passo a passo mesmo, para que estudantes e profissionais que não tenham tido ainda muito contato com o JBoss possam realizar as tarefas aqui apresentadas.

S.O. : Fedora 16
JBoss: JBoss-AS-7.1.0.CR1b
JDK: jdk-7u2

1 – Baixando e Instalando o JDK 7

Inicialmente devemos baixar, instalar e realizar as configurações básicas para que o novo JDK possa ser reconhecido pelo Fedora.

cd /opt/
wget http://download.oracle.com/otn-pub/java/jdk/7u2-b13/jdk-7u2-linux-i586.rpm
rpm -Uvh jdk-7u2-linux-i586.rpm
alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_02/jre/bin/java 20000
alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_02/jre/bin/javaws 20000
alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/jdk1.7.0_02/jre/lib/i386/libnpjp2.so 20000

Agora vamos criar um arquivo que irá armazenar a nossa variável de ambiente JAVA_HOME :

vi /etc/profile.d/java.sh

Adicione o conteúdo abaixo no arquivo java.sh

#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.7.0_02/
export PATH=$PATH:$JAVA_HOME/bin

Agora verifique se o Java 7  está configurado corretamente no Fedora.

java -version
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) Server VM (build 22.0-b10, mixed mode)

2 – Baixando, Instalando e Inicializando o JBoss AS 7

Devemos realizar o download do JBoss AS 7, no seguinte endereço http://www.jboss.org/jbossas/downloads/.

A versão a ser baixada será a jboss-as-7.1.0.CR1b.zip .

wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.0.CR1b/jboss-as-7.1.0.CR1b.zip

Após a conclusão do download, via terminal devemos realizar o seguinte comando para descompactar e consequentemente instalar o JBoss AS 7.

unzip jboss-as-7.1.0.CR1b.zip

A instalação  está finalizada, o diretório jboss-as-7.0.1.Final, estará criado. Para iniciar o JBoss AS 7,  vamos utilizar o modo standalone, que inicia uma única instância do servidor de aplicação. Digite o seguinte comando via terminal:

cd /opt/jboss-as-7.0.1.Final/bin/
./standalone.sh

Caso o JBoss AS 7, inicie com sucesso, você deverá ver algo parecido com a seguinte mensagem:

10:52:37,104 INFO  [org.jboss.as] (Controller Boot Thread) JBoss AS 7.1.0.CR1 “Flux Capacitor” started in 2153ms – Started 130 of 200 services (68 services are passive or on-demand)

Agora o JBoss AS 7, está basicamente instalado.

Como todas as outras versões do JBoss AS, o protocolo HTTP utiliza por default a porta 8080, porém a interface de gerenciamento ( administration console ), utiliza a porta 9990.
Ao iniciar o JBoss AS 7 e acessarmos a url localhost:8080, será apresentada a página inicial que contém informações como documentação, console de administração, página do projeto entre outros.

Acessando o console de administração, obtemos uma mensagem dizendo que não adicionamos nenhum usuário para acessar esse recurso. Logo abaixo nos diz que devemos executar o script add-user.sh, que se encontra no diretório bin do JBoss AS.

Para adicionar um novo usuário execute: ./jboss-as-7.1.0.CR1/bin/add-user.sh

Enter the details of the new user to add.
Realm (ManagementRealm) : ManagementRealm
Username : usuario
Password : senha
Re-enter Password : senha
About to add user ‘usuario’ for realm ‘ManagementRealm’
Is this correct yes/no? yes
Added user ‘usuario’ to file ‘/opt/jboss/jboss-as-7.1.0.CR1/standalone/configuration/mgmt-users.properties’
Added user ‘usuario’ to file ‘/opt/jboss/jboss-as-7.1.0.CR1/domain/configuration/mgmt-users.properties’

Agora novamente acesse o administration console ( http://localhost:9990/console/App.html ), com o usuário e senha criados. Na página inicial conseguimos verificar que o admin console foi totalmente reformulado, ficando muito mais intuitivo. Inicialmente ele está divido em três partes: Status, Deployments e Runtime Operations.
Na parte de Status, podemos visualizar informações relacionadas a JVM e algumas métricas dos subsistemas que estão ativos, como transactions, web e datasources. Já Deployments nos oferece a possibilidade de realizar deploys e undeploys de uma forma mais amigável. Por ultimo temos Runtime Operations, onde podemos ativar ( ativados sob demanda ) os módulos OSGi.

Por Hoje é isso, aguardem a próxima parte.
Abraços!

14 comentários em “Introdução ao JBoss AS 7.1 – Parte 1

    Introdução ao JBoss AS 7 – Parte 2 « Learning JBoss disse:
    20 de janeiro de 2012 às 17:20

    […] continuando o post anterior https://jbossdivers.wordpress.com/2012/01/20/introducao-ao-jboss-as-7-parte-1/, hoje o objetivo será criar um  novo datasource e um dominio de segurança baseado em banco de […]

    […] instale o JBoss AS 7.1 e a JDK 7. Para isso leia o post  Introdução ao JBoss AS 7.1 – Parte 1. Devemos realizar o deploy da  nossa aplicação no JBoss AS 7 e verficarmos o nome do contex.  O […]

    MBallem disse:
    14 de abril de 2012 às 13:15

    Tudo bem? Estou tenho um probleminha entre o JBoss AS 7.1.1-Final e uma configuração no Spring 3. Estou tentando usar JMS e criei um arquivo chamado spring-jms.xml e tenho a seguinte exceção sendo lançada inicio o JBoss:
    13:10:15,201 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC00001: Failed to start service jboss.deployment.unit.”app-jms-web-consumer-1.0.war”.PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit.”app-jms-web-consumer-1.0.war”.PARSE: Failed to process phase PARSE of deployment “app-jms-web-consumer-1.0.war”
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_03]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_03]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_03]
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011666: Could not parse file C:\jboss-as-7.1.1.Final\standalone\tmp\vfs\temp86f255e4ee12712\app-jms-web-consumer-1.0.war-612bd337e41970f7\WEB-INF\spring-jms.xml
    at org.jboss.as.messaging.deployment.MessagingXmlParsingDeploymentUnitProcessor.deploy(MessagingXmlParsingDeploymentUnitProcessor.java:76)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    … 5 more
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011666: Could not parse file C:\jboss-as-7.1.1.Final\standalone\tmp\vfs\temp86f255e4ee12712\app-jms-web-consumer-1.0.war-612bd337e41970f7\WEB-INF\spring-jms.xml
    at org.jboss.as.messaging.deployment.MessagingXmlParsingDeploymentUnitProcessor.deploy(MessagingXmlParsingDeploymentUnitProcessor.java:73)
    … 6 more
    Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,1]
    Message: Unexpected element ‘{http://www.springframework.org/schema/beans}beans’
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:108) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
    at org.jboss.as.messaging.deployment.MessagingXmlParsingDeploymentUnitProcessor.deploy(MessagingXmlParsingDeploymentUnitProcessor.java:67)
    … 6 more

    Porém esse erro só acontece em projeto web que roda dentro do JBoss, se eu usar a mesma configuração desse arquivo em um projeto desktop, não acontece erro algum. Na verdade o erro seria nesse trecho do xml:

    Mas essa configuração não possui erro algum, seria algum tipo de bug?

      Mauricio Magnani respondido:
      16 de abril de 2012 às 8:29

      Olá, é parece ser algum erro de parser no xml…
      Vou verificar como funciona essa configuracao e volto a responder aqui mesmo hoje a noite…
      []s

        MBallem disse:
        16 de abril de 2012 às 9:56

        Legal, fico no aguardo. Obrigado!

        Mauricio Magnani respondido:
        16 de abril de 2012 às 21:39

        E ai cara blz… estive olhando esse erro é bem genérico:/
        Tem como vc me enviar um app de exemplo para eu fazer os testes e descobrir o que tá rolando?
        Manda no meu email: mauriciomagnanijr@gmail.com

        Estou curioso para ver esse erro 🙂

        Abraços

    MBallem disse:
    17 de abril de 2012 às 11:18

    Ok Mauricio, te enviei a app.

    teta de bode disse:
    27 de novembro de 2012 às 11:47

    Valeu mano!

    Marcos Fontana disse:
    15 de março de 2013 às 16:31

    Amigo, mesmo fazendo as configurações, não consigo usar o usuário e a senha para acessar, a minha versão é o 7.1.1 Final

      Mauricio Magnani Jr respondido:
      15 de março de 2013 às 17:00

      Oi Marcos,

      Qual erro aparece nos logs?

        Marcos Fontana disse:
        15 de março de 2013 às 17:32

        Simplesmente não aparece nada, vc coloca o login e a senha e os campos voltam a ficar em branco. Uma outra pergunta. o JBOSS 7 armazena o hash da senha em si, correto? Obrigado!

    Mauricio Magnani Jr respondido:
    17 de março de 2013 às 19:46

    Nuss bem esquisito…. verifica novamente o nome do security domain no seu arquivo jboss-web.xml e o nome que está configurando no security domain no JBoss.

    O JBoss gerar um hash na hora utilizando algumas bibliotecas para comparar com o qu está sendo passado pelo usuário.

    Abs

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s