Você está na página 1de 45

Middleware

Glassfish

Este documento é parte integrante da metodologia de treinamento Senior.


É proibida a publicação ou reprodução deste documento sem autorização
prévia da empresa. A área Universidade Corporativa Senior é a única
autorizada para alteração do modelo. Todos os direitos são reservados para
a Senior. Nenhuma parte deste material e/ou treinamento poderá ser
reproduzida em qualquer forma ou por qualquer meio eletronicamente,
mecanicamente, por fotocópias, gravação ou outros, sem a prévia
autorização da Senior, sujeitando-se às penalidades previstas em Lei.
Sumário

CAPÍTULO 01 .................................................................................................... 3
Instalação do Glassfish .................................................................................... 3
1.1 Instalação do JDK ................................................................................... 4
1.1.1 Variável JAVA_HOME ...........................................................................12
1.2 – Glassfish 2.1.1 ...................................................................................14
1.2.1 – Instalação do Glassfish 2.1.1 (Windows) .............................................14
1.2.2 – Configurações do Glassfish 2.1.1........................................................21
1.3 – Glassfish 3.1.2 ...................................................................................28
1.3.1 – Instalação do Glassfish 3.1.2 (Windows) .............................................28
1.3.2 – Configurações do Glassfish 3.1.2........................................................34
Apêndice 1 - Gerenciamento de memória em Java ..........................................41
Alocação de memória da JVM........................................................................41
Parâmetros para configuração da memória .....................................................42
O Garbage Collector ....................................................................................43

Este documento é parte integrante da metodologia de treinamento Senior.


É proibida a publicação ou reprodução deste documento sem autorização
prévia da empresa. A área Universidade Corporativa Senior é a única
autorizada para alteração do modelo. Todos os direitos são reservados para
a Senior. Nenhuma parte deste material e/ou treinamento poderá ser
reproduzida em qualquer forma ou por qualquer meio eletronicamente,
mecanicamente, por fotocópias, gravação ou outros, sem a prévia
autorização da Senior, sujeitando-se às penalidades previstas em Lei.
CAPÍTULO 01
Instalação do Glassfish
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Objetivo

Ao final deste capítulo, você será capaz de:

• Instalar o JDK

• Instalar e configurar o Glassfish 2.1.1

• Instalar e configurar o Glassfish 3.1.2

1.1 Instalação do JDK


Java Development Kit (JDK) significa Kit de Desenvolvimento Java. Constitui
um conjunto de programas que engloba compilador, interpretador e utilitários,
fornecendo um pacote de ferramentas básicas para o desenvolvimento e execução de
aplicações Java.

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


O instalador do JDK é disponibilizado no site da Oracle
(http://www.oracle.com/technetwork/java/javase/downloads/index.html), mas
também pode ser obtido no diretório “Requisitos\Middleware” do DVD de instalação do
sistema Senior ou área FTP, em ftp2.senior.com.br/Senior/Tecnologia/Requisitos. ????

Dica!
Existem duas versões disponíveis do JDK: uma para Sistemas
Operacionais de 32 bits e outra para Sistemas Operacionais de 64
bits. Verifique qual a versão do seu sistema e baixe a versão
correspondente do JDK.

Antes de iniciar a instalação do GlassFish é necessário ter o JDK instalado e


configurado. Abaixo seguem os passos da instalação e configuração (neste exemplo foi
utilizado o JDK 6, update 29).

Ao iniciar a instalação do JDK, será exibida uma tela de boas vindas,


conforme a Figura 1 abaixo.

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 1 – Tela de boas vindas do instalador

Clique no botão Next para avançar para a próxima tela. Nesta tela você
deverá escolher em qual pasta instalar o JDK e quais partes do mesmo você quer
instalar (Figura 2). Não altere nenhum item selecionado na lista de itens a serem
instalados.
É recomendável instalar o JDK em uma pasta que não contenha espaços em
branco no seu nome. A pasta padrão sugerida pelo instalador é a pasta de “Arquivos
de Programas” do seu computador. Para alterar esta pasta, clique no botão Change...

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
abaixo.

PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
Figura 2 – Selecione os componentes a serem instalados

Será exibida a tela mostrada na Figura 3. Retire o caminho “Arquivos de


Programas” do caminho sugerido, ficando apenas “C:\java\..”, conforme mostrado

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
Figura 4.

PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
Figura 3 – Altere o caminho da instalação

Clique em Next. O instalador irá fazer a cópia dos arquivos, conforme ilustrado na
Clique no botão Ok. Será exibida novamente a tela mostrada na Figura 2.

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
Figura 4 – Cópia dos arquivos

pergunta em qual pasta ele deve ser instalado, conforme a Figura 5 abaixo:
Após a cópia da 1ª parte dos arquivos, o instalador irá instalar o JRE (Java
Runtime Environment), que também faz parte do JDK. A instalação do JRE também

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
pasta. Após clicar em Ok, deve ser exibida a tela da Figura 6:
Figura 5 – Caminho da instalação do JRE

Faça o mesmo procedimento na instalação da 1ª parte do JDK: Clique no


botão Change... e na tela seguinte retire o “Arquivos de Programas” do caminho da

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
será exibida a tela abaixo:

Apostila
GESTÃO
Introdução
CAPITULO
Figura 6 – Caminho da instalação do JRE alterado

Clique em Next e aguarde a cópia dos arquivos restantes. Quando terminar,

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 7 – Instalação finalizada

Clique em Finish para encerrar o programa de instalação.

O Java, por padrão, ativa um mecanismo de atualização automática de


versão, ou seja: o servidor local fica monitorando os servidores da Oracle e sempre
que for lançada uma nova versão do Java, ela será automaticamente baixada e
instalada na máquina. Apesar disto ser um comportamento prático, não é desejável
para nós, pois as novas versões do Java precisam ser homologadas pela Senior antes
de entrar em produção para garantir a compatibilidade com nossos produtos.

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
Para desabilitar esta função, entre no Painel de Controle, clique no ícone do

deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Java e na guia Update, desmarque a opção “Check for Updates Automatically”,
conforme a Figura 8.

Figura 8 – Desmarque esta opção

1.1.1 Variável JAVA_HOME

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Feita a instalação, é necessário informar a variável JAVA_HOME nas variáveis
de ambiente do Windows. Para isso, clique com o botão direito o mouse sobre o ícone
do “Meu Computador” e selecione a opção “Propriedades”. Na guia “Avançado”, clique
no botão “Variáveis de ambiente”.
Esta tela possui duas listas: Variáveis de usuário e variáveis do sistema. A
variável JAVA_HOME deve ser criada na lista de variáveis do sistema, pois ela deve
ficar disponível para todos os usuários do servidor, inclusive os usuários de serviço.
Para isto, clique no botão Novo... da lista de variáveis do sistema. Na tela que será
apresentada (Figura 9), preencha o Nome da Variável como “JAVA_HOME” e o Valor
da Variável com o caminho em que foi instalado o Java (se você instalou conforme
mostrado acima, é “c:\java\jdk1.6.0_29”).

Figura 9 – Criação da variável JAVA_HOME

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
Clique no botão Ok para confirmar a criação da variável. Ainda nesta tela de

deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
variáveis, localize a variável do sistema chamada Path. Dê um duplo clique sobre ela.
Será exibida a tela mostrada na figura 10 abaixo. Mantenha o nome da variável como
Path e no valor, adicione no início da linha o caminho em que foi instalado o Java,
seguido por “\bin”, sem excluir o restante das informações já existentes para
o Path.

Figura 10 – Incluindo o caminho do Java no Path

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Clique em Ok para confirmar a alteração da variável, clique em Ok novamente
para fechar a tela de Variáveis de Ambiente.

Para verificar se o JDK foi instalado corretamente, abra um prompt do


Windows e digite java –version. Devem ser exibidas as informações conforme a Figura
11.

Figura 11 – verificando se o JDK foi instalado corretamente

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
1.2 – Glassfish 2.1.1

Este capítulo trata da instalação e configuração do Glassfish 2.1.1. Esta


versão pode ser obtida a partir do FTP ou do DVD de instalação em blablabla...

1.2.1 – Instalação do Glassfish 2.1.1 (Windows)

Para iniciar a instalação do Glassfish, você deve copiar o instalador do


Glassfish (arquivo glassfish-installer-v2.1.1-b31g-windows.jar) para a pasta na qual
você deseja efetuar a instalação.

Dica!
O instalador cria automaticamente uma pasta chamada “glassfish”
abaixo da pasta do instalador. Portanto, se você quiser instalar o

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Glassfish na pasta “c:\glassfish”, copie o instalador diretamente para
a raíz da unidade C.

Abra um prompt do Windows e vá para a pasta na qual você copiou o


instalador. Execute a seguinte linha de comando:

java –Xmx256m –jar glassfish-installer-v2.1.1-b31g-windows.jar

Atenção!
O comando acima faz distinção entre letras maiúsculas e
minúsculas, então deve ser digitado exatamente como
mostrado.

Figura 12 – comando para iniciar o instalador do Glassfish 2.1.1


PRODUTO AREA GESTÃO CAPITULO
Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Ao iniciar o instalador, ele exibe uma tela com a licença de uso do Glassfish:

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 13 – Licença de uso do Glassfish

Inicialmente o botão Accept está desabilitado. Para habilitá-lo, você deve rolar
a licença de uso até o fim, utilizando a barra de rolagem à direita da tela.
Antes de clicar no botão Accept, você deve desmarcar a opção Enable
autoupdate, pois o Glassfish não deve ser atualizado automaticamente.
Clique no botão Accept.
O instalador irá então efetuar a cópia de vários arquivos para a pasta
glassfish, por ele criada. Ao final da cópia, será apresentada a mensagem Installation
complete, conforme a Figura 14 abaixo:

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Figura 14 – Término da cópia dos arquivos
O Glassfish vem configurado para utilizar as seguintes portas TCP/IP:

Porta Número
Console de administração do Glassfish 4848
Servidor HTTP 8080
ORB (CORBA) 3700
Servidor JMS 7676
Servidor HTTPS 8181

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Quadro 1 – Portas TCP/IP utilizadas

Verifique junto ao administrador do ambiente se estas portas estão todas


disponíveis para uso no servidor que o Glassfish foi instalado. Caso seja necessário
alterar alguma destas portas, esta configuração está no arquivo setup.xml, na pasta
glassfish recém-criada.
As portas padrões que estão configuradas no arquivo são:
<property name="admin.port" value="4848"/>
<property name="instance.port" value="8080"/>
<property name="orb.port" value="3700"/>
<property name="imq.port" value="7676"/>
<property name="https.port" value="8181"/>
Se for necessário, faça o ajuste nas portas acima e salve o arquivo setup.xml
alterado.
Ainda no prompt de comando, vá para a pasta glassfish. Digite a seguinte
linha de comando:
lib\ant\bin\ant –f setup.xml

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Dica!

número pela porta que quiser pesquisar.

Introdução
CAPITULO
Figura 15 – Finalizando a instalação

Caso você queira verificar por uma porta específica, digite netstat –
netstat –ano. Serão listadas todas as conexões de rede da máquina.
Para verificar quais portas estão em uso, entre no prompt e digite

ano | find “8080” , aonde 8080 é o número da porta desejada. Substitua este

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO

Corporativa
Universidade
glassfish\bin:

AREA

Corporativa
Universidade
asadmin start-domain

Apostila
GESTÃO
Introdução
CAPITULO
mensagem BUILD SUCCESFUL, conforme a Figura 16.

Figura 16 – Instalação concluída

Figura 17 – Iniciando o Glassfish


Deve ser exibida uma tela semelhante a Figura 17 abaixo.
Para iniciar manualmente o Glassfish (a fim de verificar se foi instalado
O instalador irá executar vários comandos e no final deve ser exibida a

corretamente e se está tudo funcionando), execute o seguinte comando na pasta

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
Figura 18 – Tela inicial do Glassfish
acesse o endereço http://localhost:8080. A tela a seguir deve ser exibida:
Para confirmar o correto funcionamento do Glassfish, abra um navegador e

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
Para parar o Glassfish, digite o seguinte comando na pasta glassfish\bin:

deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
asadmin stop-domain
Ainda com o navegador aberto, acesse novamente o endereço
http://localhost:8080. Deve ser apresentada uma mensagem de erro semelhante à
Figura 19.

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 19 – Erro ao acessar o Glassfish

1.2.1.1 – Instalação do Glassfish como serviço do Windows

Para instalar o GlassFish como serviço existe um aplicativo, chamado


GlassfishSvc.jar, que pode ser obtido no site https://glassfish.dev.java.net. Este
aplicativo dever ser copiado para o mesmo diretório onde o GlassFish foi instalado.

Acessar o diretório onde o GlassFish foi instalado, pelo prompt de comando, e


executar o comando:
java -jar GlassfishSvc.jar –i –n “Senior Glassfish”

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Figura 20 – Instalando o Glassfish como serviço

Após a instalação acima terminar, abra o Gerenciador de Serviços do Windows


e localize o serviço chamado GlassfishAppServer, conforme a Figura 21:

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 21 – Serviço do Glassfish instalado no Windows

Para desinstalar o serviço do GlassFish, basta acessar a pasta onde está o


aplicativo, pelo prompt de comando, e executar o comando:
java -jar GlassfishSvc.jar –u
É importante salientar que mesmo desinstalando o GlassFish como serviço o
mesmo continua a funcionar como aplicativo.

1.2.2 – Configurações do Glassfish 2.1.1

Uma vez instalado e funcionando, o Glassfish precisa de mais alguns ajustes


para trabalhar corretamente em modo de produção, atendendo de forma satisfatória
às requisições.
Para fazer estas configurações, o Glassfish disponibiliza uma interface web.
Certifique-se de que o Glassfish esteja sendo executado e acesse o seguinte endereço:

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
22:

esta:

PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Usuário: admin
Senha: adminadmin

Apostila
GESTÃO
Introdução
CAPITULO
Informe os seguintes dados para acesso:
Figura 22 – Tela de login do Console do Glassfish

Uma vez feito o login, você será redirecionado para uma tela semelhante à
http://localhost:4848. Deve ser exibida uma tela semelhante à mostrada na Figura

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 23 – Tela inicial do Console do Glassfish

O primeiro ajuste a ser feito é no que se refere ao tratamento de memória. O


Glassfish é uma aplicação Java, logo, é necessário efetuar um ajuste fino nas
configurações-padrão da máquina Java para que ele funcione da melhor forma
possível em um ambiente de produção.
Para ajustar as configurações de memória, selecione a opção Application
Server/ JVM Settings / JVM options, conforme mostrado na Figura 24.

Console do Glassfish

Application Server/JVM Settings/JVM Options

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 24 – Tela de ajustes da JVM utilizada pelo Glassfish

A Figura 24 acima ilustra as configurações iniciais da JVM (Java Virtual


Machine) utilizada pelo Glassfish. Elas são apropriadas para um ambiente de
desenvolvimento, mas não para um ambiente de produção.

O que precisa ser alterado/incluído:

Chave Descrição Novo valor


Indica a quantidade de O valor recomendado é ¼
-XX:MaxPermSize=192m
memória alocada no do valor configurado pela
PermGenSpace da VM. chave –Xmx, ou 512 MB (o
que for menor).
Indica para a JVM que esta Altere para –server, pois
-client
é uma aplicação client esta aplicação é um
(como um aplicativo Java servidor, que deve ficar
Swing, por exemplo). executando por vários dias
direto.
Tamanho máximo alocado Deve ser configurado
-Xmx512m
pelo Java para uso como conforme a quantidade de
HEAP de memória. memória física disponível

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Basicamente, é a área de na máquina, de tal forma
trabalho da memória para que não seja feito muito
o GF. swap de disco pelo
Windows. Valores típicos
ficam de faixa de 1 a 3 GB
(com portal, normalmente
fica mais próximo dos 3
GB).
Indica a quantidade inicial Valor deve ser incluído
-Xms
de memória alocada pelo na configuração. Por
Java. questões de performance,
deve ser sempre igual ao
valor do parâmetro –Xmx
acima.
Indica o algoritmo que o Valor deve ser incluído
-XX:+UseConcMarkSweepGC
Garbage Collector (coletor na configuração. Indica
de lixo) do Java deve ao Java para utilizar o
utilizar para a limpeza da coletor de lixo chamado
memória. Mark Sweep.
Indica o algoritmo que o Valor deve ser incluído
-XX:+UseParNewGC
Garbage Collector do Java na configuração. Indica
deve utilizar para limpar a ao Java para utilizar um

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


memória de curta duração coletor de lixo paralelo na
área de memória destinada
a novos objetos. Desta
forma, objetos que duram
pouco já são eliminados
rapidamente da memória,
sem consumir muito
espaço.
Indica a razão entre a área Valor deve ser incluído
-XX:SurvivorRatio=20
de survivor e a área de na configuração. O valor
curta duração da memória recomendado é 20, ou
seja: a área de survivor é
1/20 da área disponível
para novos objetos.
Aumenta a performance do Valor deve ser incluído
-XX:+CMSParallelRemarkEnabled
coletor de lixo paralelo na configuração.
Utilizado quando o Valor deve ser incluído
-Xrs
Glassfish é instalado como na configuração. Caso o
serviço. Indica para a JVM Glassfish esteja sendo
para reter a sessão do executado como serviço do
Windows. Windows e este parâmetro
não estiver configurado, ele
pode encerrar
abruptamente, sem
registrar nenhum erro.
Remova este parâmetro
-XX:NewRatio=2

Após as alterações, a configuração do Glassfish deve ficar semelhante a Figura


25:
PRODUTO AREA GESTÃO CAPITULO
Universidade Universidade Apostila Introdução
Corporativa Corporativa
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Lixo, etc..) são ali melhor explicados.
Dica!
Atenção!

Introdução
CAPITULO
RAM, pois este é o máximo que um aplicativo 32 bits suporta.
parâmetros MaxPermSize e Xmx não pode ultrapassar 2 GB
Para Sistemas Operacionais de 32 bits, a soma dos valores dos
Figura 25 – Configurações finais de memória

foram utilizados nas configurações acima (como HEAP, Coletor de


funcionamento da JVM no que tange à memória. Estes termos que
O Apêndice 1 – Gerenciamento de memória em Java explica o
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
Após efetuar todas as alterações, clique no botão Save, na parte superior

deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
direita da tela.

O servidor de páginas HTTP embutido no Glassfish também vem configurado


para uso em ambiente de desenvolvimento, não de produção. Para ajustá-lo, entre na
opção Configuration/HTTP Service/Request Processing, conforme exemplificado na
Figura 26.

Console do Glassfish

Configuration/HTTP Service/Request Processing

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.

Figura 26 – Configuração das Threads do servidor HTTP

Localize o campo Initial Thread Count e siga a seguinte regra: O valor deste
campo deve ser o número de cores (núcleos) do(s) processador(es) do servidor,
PRODUTO AREA GESTÃO CAPITULO
Universidade Universidade Apostila Introdução
Corporativa Corporativa
multiplicado por 8. Por exemplo: caso o servidor seja uma máquina quad-core (com 4

deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
núcleos), então este valor deve ser 32 (4 * 8). Após efetuar a alteração, clique no
botão Save.
Reinicie o Glassfish para as alterações serem aplicadas.

Com isto, seu Glassfish está instalado e configurado, pronto para uso.

1.3 – Glassfish 3.1.2

Este capítulo trata da instalação e configuração do Glassfish 3.1.2. Esta


versão pode ser obtida a partir do FTP ou do DVD de instalação em blablabla...

1.3.1 – Instalação do Glassfish 3.1.2 (Windows)

Para iniciar a instalação do Glassfish, você deve executar o instalador do

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Glassfish (arquivo glassfish-3.1.2-windows.exe). Ao iniciar o instalador, ele exibe uma
tela de boas vindas/Introdução:

Figura 27 – Tela inicial do instalador do Glassfish 3.1.2

Clique em Próximo para iniciar a instalação.

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
Figura 28 – Selecionar o tipo de instalação
Nesta tela, você deve selecionar a opção Instalação Típica.

Figura 29 – Selecionar o diretório de instalação


Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO

Corporativa
Universidade
Nesta

AREA
tela,

Corporativa
Universidade
você

Apostila
GESTÃO
deve
Por padrão, é na pasta c:\glassfish3.

Introdução
CAPITULO
desabilitar
a

sem passar pela homologação dos sistemas da Senior.


opção
Figura 30 – Ferramenta de atualização
Instalar
Ferramenta
Nesta tela, você deve informar o diretório no qual o Glassfish será instalado.

Atualização, pois não é desejável que o Glassfish se atualize para versões mais novas
de

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
Figura 31 – Início da cópia dos arquivos
Pressione o botão Instalar para iniciar cópia dos arquivos do Glassfish 3.

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 32 – Parâmetros finais
Nesta tela devem ser preenchidos os últimos parâmetros da configuração:
Nome do domínio: Você pode manter o padrão (domain1) ou colocar algum
outro nome a seu critério. O nome não pode conter acentuação nem espaços em
branco.
Porta Admin: Se não tiver nenhuma outra porta IP neste número (verifique
junto ao administrador do ambiente do servidor), pode deixar o padrão: 4848.
Porta HTTP: Mesma regra da porta admin: Se não tiver conflito com
nenhuma outra porta no servidor, pode manter o padrão sugerido: 8080.
Nome de usuário: digite admin
Senha: digite adminadmin
Informe a senha novamente: digite adminadmin
Criar serviço do Sistema Operacional para o domínio: Se você quiser
que o Glassfish execute como um serviço do Windows, marque esta opção
Nome do Serviço: Informe o nome do serviço do Glassfish.
Iniciar o domínio após a criação: Se você quiser que o Glassfish inicie
automaticamente ao final da instalação, pode deixar esta opção marcada.
Clique em Próximo para continuar.

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 33 – Final da instalação
Ao final da instalação deve ser exibida a tela acima, com o resultado da
instalação. Caso você tenha ligado as opções de instalar como serviço do Sistema
Operacional e iniciar automaticamente, o status destas operações será exibido nesta
tela.
Caso você tenha selecionado a opção de instalar como Serviço e iniciar
automaticamente, o Glassfish já deve estar em execução. Na lista de Serviços do
Windows ele deve aparecer conforme a Figura 34.

Figura 34 – Glassfish instalado como serviço do Windows

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
Para verificar se o Glasfish está corretamente instalado e funcionado, abra um

deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
navegador e acesse o endereço http://localhost:8080. Deve ser exibida a tela
conforme a figura 35.

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 35 – Tela inicial do Glassfish

1.3.2 – Configurações do Glassfish 3.1.2

Uma vez instalado e funcionando, o Glassfish precisa de mais alguns ajustes


para trabalhar corretamente em modo de produção, atendendo de forma satisfatória
às requisições.
Para fazer estas configurações, o Glassfish disponibiliza uma interface web.
Certifique-se de que o Glassfish esteja sendo executado e acesse o seguinte endereço:
http://localhost:4848. Deve ser exibida uma tela semelhante à mostrada na Figura
36:

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
esta:

PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Usuário: admin
Senha: adminadmin

Apostila
GESTÃO
Introdução
CAPITULO
Informe os seguintes dados para acesso:
Figura 36 – Tela de login do Console do Glassfish

Uma vez feito o login, você será redirecionado para uma tela semelhante à

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 37 – Tela inicial do Console do Glassfish

O primeiro ajuste a ser feito é no que se refere ao tratamento de memória. O


Glassfish é uma aplicação Java, logo, é necessário efetuar um ajuste fino nas
configurações-padrão da máquina Java para que ele funcione da melhor forma
possível em um ambiente de produção.
Para ajustar as configurações de memória, selecione a opção Configuration/
server-config/ JVM Settings / JVM options, conforme mostrado na Figura 38.

Console do Glassfish

Configurations/server-config/JVM Settings/JVM Options

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 38 – Tela de ajustes da JVM utilizada pelo Glassfish

A Figura 38 acima ilustra as configurações iniciais da JVM (Java Virtual


Machine) utilizada pelo Glassfish. Elas são apropriadas para um ambiente de
desenvolvimento, mas não para um ambiente de produção.

O que precisa ser alterado/incluído:

Chave Descrição Novo valor


Indica a quantidade de O valor recomendado é ¼
-XX:MaxPermSize=192m
memória alocada no do valor configurado pela
PermGenSpace da VM. chave –Xmx, ou 512 MB (o
que for menor).
Indica para a JVM que esta Altere para –server, pois
-client
é uma aplicação client esta aplicação é um
(como um aplicativo Java servidor, que deve ficar
Swing, por exemplo). executando por vários dias
direto.
Tamanho máximo alocado Deve ser configurado
-Xmx512m
pelo Java para uso como conforme a quantidade de
HEAP de memória. memória física disponível
Basicamente, é a área de na máquina, de tal forma
PRODUTO AREA GESTÃO CAPITULO
Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
trabalho da memória para que não seja feito muito
o GF. swap de disco pelo
Windows. Valores típicos
ficam de faixa de 1 a 3 GB
(com portal, normalmente
fica mais próximo dos 3
GB).
Indica a quantidade inicial Valor deve ser incluído
-Xms
de memória alocada pelo na configuração. Por
Java. questões de performance,
deve ser sempre igual ao
valor do parâmetro –Xmx
acima.
Indica o algoritmo que o Valor deve ser incluído
-XX:+UseConcMarkSweepGC
Garbage Collector (coletor na configuração. Indica
de lixo) do Java deve ao Java para utilizar o
utilizar para a limpeza da coletor de lixo chamado
memória. Mark Sweep.
Indica o algoritmo que o Valor deve ser incluído
-XX:+UseParNewGC
Garbage Collector do Java na configuração. Indica
deve utilizar para limpar a ao Java para utilizar um
memória de curta duração coletor de lixo paralelo na

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


área de memória destinada
a novos objetos. Desta
forma, objetos que duram
pouco já são eliminados
rapidamente da memória,
sem consumir muito
espaço.
Indica a razão entre a área Valor deve ser incluído
-XX:SurvivorRatio=20
de survivor e a área de na configuração. O valor
curta duração da memória recomendado é 20, ou
seja: a área de survivor é
1/20 da área disponível
para novos objetos.
Aumenta a performance do Valor deve ser incluído
-XX:+CMSParallelRemarkEnabled
coletor de lixo paralelo na configuração.
Utilizado quando o Valor deve ser incluído
-Xrs
Glassfish é instalado como na configuração. Caso o
serviço. Indica para a JVM Glassfish esteja sendo
para reter a sessão do executado como serviço do
Windows. Windows e este parâmetro
não estiver configurado, ele
pode encerrar
abruptamente, sem
registrar nenhum erro.
Remova este parâmetro
-XX:NewRatio=2

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Atenção!
Para Sistemas Operacionais de 32 bits, a soma dos valores dos
parâmetros MaxPermSize e Xmx não pode ultrapassar 2 GB
RAM, pois este é o máximo que um aplicativo 32 bits suporta.

Dica!
O Apêndice 1 – Gerenciamento de memória em Java explica o
funcionamento da JVM no que tange à memória. Estes termos que
foram utilizados nas configurações acima (como HEAP, Coletor de
Lixo, etc..) são ali melhor explicados.
Após efetuar todas as alterações, clique no botão Save, na parte superior
direita da tela.

O servidor de páginas HTTP embutido no Glassfish também vem configurado

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


para uso em ambiente de desenvolvimento, não de produção. Para ajustá-lo, entre na
opção Configurations / server-config / Thread Pools / http-thread-pool, conforme
exemplificado na Figura 39.

Console do Glassfish

Configurations/server-config/Thread pools/http-thread-pool

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Figura 39 – Configuração das Threads do servidor HTTP

Localize o campo Max Thread Pool Size e siga a seguinte regra: O valor deste
campo deve ser o número de cores (núcleos) do(s) processador(es) do servidor,
multiplicado por 8. Por exemplo: caso o servidor seja uma máquina quad-core (com 4
núcleos), então este valor deve ser 32 (4 * 8). Após efetuar a alteração, clique no
botão Save.
Reinicie o Glassfish para as alterações serem aplicadas.

Com isto, seu Glassfish está instalado e configurado, pronto para uso.

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Apêndice 1 - Gerenciamento de memória em Java
O Glassfish é um servidor de aplicações. Por ser escrito em Java, está sujeito às
regras de gerenciamento de memória da Máquina Virtual Java (JVM – Java Virtual
Machine).
A JVM possui um mecanismo próprio para gerenciamento de memória chamado
Garbage Collector (Coletor de lixo) ou simplesmente: GC. Todos os objetos criados
durante a execução de um programa na JVM estão sujeitos aos comportamentos
definidos para o Coletor de Lixo. Estes comportamentos (que podem ser configurados
via parâmetros – veremos mais adiante) definem a quantidade de memória disponível,
o algoritmo de limpeza que o coletor vai utilizar, entre outros.
Antes de apresentar estes parâmetros, vamos ver como funciona a alocação de
memória na JVM.

Alocação de memória da JVM


A memória da JVM é dividida em várias partes, conforme a figura abaixo:

Eden S S Old Generation PermGen


1 2

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


Eden: É a área de memória reservada para a alocação dos novos objetos. Cada vez
que um novo objeto é criado (por exemplo: List usuarios = new ArrayList()), ele é
alocado nesta área reservada para o Eden. Esta área tende a ser rapidamente
ocupada, pois durante a execução de um programa são alocados muitos objetos.
S1 e S2: Ou Survivor1 e Survivor2. Quando o Eden está totalmente ocupado, a JVM
executa um Garbage Collector para eliminar os objetos que não estão em uso e liberar
memória. Os objetos que estavam no Eden e “sobreviveram” ao GC (ou seja: ainda
estavam em uso no momento do GC) são movidos para esta área.
Old Generation: Quando a área reservada para o Survivor está totalmente alocada, é
executado um GC na mesma. Os objetos que ainda estiverem em uso vão para o Old
Generation.
Resumindo, o ciclo de vida de um objeto em uso é o seguinte: É alocado no Eden,
quando o Eden estiver totalmente cheio, o objeto vai para o Survivor. Quando o
Survivor estiver totalmente alocado, o objeto vai para o Old Generation. Caso o objeto
deixe de ser utilizado durante este ciclo, ele será liberado quando o GC executar.
PermGen: É a área destinada pela JVM para armazenar as definições das classes.
Enquanto as outras áreas salvam os dados do programa em execução, o PermGen
salva as definições das interfaces dos objetos. Em uma analogia ao banco de dados,
nesta área é como se estivessem salvas as definições das tabelas, triggers, índices,
etc.. enquanto que nas demais áreas ficam salvos os conteúdos (dados) das tabelas.

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Parâmetros para configuração da memória
Os tamanhos de cada uma das áreas acima podem ser configurados via parâmetros,
informados via linha de comando para a JVM.

-MaxPermSize
-Xms e -Xmx

Eden S S Old Generation PermGen


1 2

-Xmn

-Xmn

-Xms: Define a quantidade inicial de memória que o programa irá alocar para
armazenamento de dados (Eden + S1 + S2 + OldGeneration). Por exemplo, para
iniciar o programa com 512MB RAM: -Xms512m
-Xmx: Define a quantidade máxima de memória que o programa irá alocar para

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


armazenamento de dados (Eden + S1 + S2 + OldGeneration). Por exemplo, para
informar à JVM para alocar no máximo 1GB de RAM: -Xmx1024m ou –Xmx1g (o
parâmetro aceita a sintaxe tanto em MB quanto GB).
Atenção: para uma boa performance, é sempre bom configurar os dois parâmetros
acima com o mesmo valor. Desta forma, o Sistema Operacional já irá alocar uma área
fixa de memória para toda a JVM e não vai mais precisar fazer realocações durante a
execução.
-Xmn: Define a quantidade de memória reservada para o Eden. Este espaço é uma
parte do alocado pelos parâmetros acima, conforme ilustrado na figura. Por exemplo,
para alocar 256 MB RAM para o Eden: -Xmn256m
-XX:SurvivorRatio: Define a relação de tamanho entre as duas áreas de Survivor e o
Eden. Por exemplo, para definir que cada área de Survivor tenha 1/10 do tamanho do
Eden, o parâmetro fica assim: -XX:SurvivorRatio=10.
O espaço ocupado pelo Old Generation é o que “sobrou” do espaço alocado pelos
parâmetros acima.
-XX:MaxPermSize: Define o tamanho da área destinada para o metadata
(definições) das classes utilizadas.
Do ponto de vista do Sistema Operacional, a memória utilizada pelo processo java.exe
é a soma do Xmx e do MaxPermSize. Atenção: Se você estiver utilizando uma JVM de
32 bits, a soma destes valores não pode ser superior a 2GB, que é o máximo possível
em um aplicativo 32 bits.
-Xmx2g –Xms2g –Xmn512m –XX:SurvivorRatio=10 –
Exemplo de configuração:
XX:MaxPermSize=384m

Com os parâmetros acima, a memória vai ficar assim dividida:


Eden: 512MB
Survidor1: 51,2 MB (10% do Eden)

PRODUTO AREA GESTÃO CAPITULO


Universidade Universidade Apostila Introdução
Corporativa Corporativa
Survivor2: 51,2 MB (10% do Eden)

deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
OldGeneration: 1385,6 MB (É a diferença entre o total alocado (2GB) e os já utilizados
pelo Eden + Survivors)
PermGen: 384MB

O Garbage Collector
O Garbage Collector é um mecanismo da JVM que gerencia os objetos alocados na
memória. Ele pode ser configurado para trabalhar de várias formas, otimizando o
consumo de recursos e a performance.
Sempre se deve procurar minimizar os momentos de “stop-the-world” (ou “Full GC”)
do GC. Estes momentos ocorrem quando o GC precisa parar todos os processos (a
JVM parece que fica congelada mesmo) para efetuar a limpeza da memória.
Normalmente isto ocorre na limpeza do Old Generation.
Uma informação que você sempre tem que ter em mente é a seguinte: Quanto mais à
direita (na figura acima) um objeto estiver, mais “caro” é para liberá-lo. Um objeto é
facilmente liberado enquanto está no Eden, mas se ele estiver no Old Generation, será
mais demorado para liberá-lo. Então todos os parâmetros passados para o GC são
para otimizar a limpeza já no Eden, para que poucos objetos sejam enviados para os
Survivors e depois para o Old Generation. Assim o usuário não perceberá a execução
do GC, resultando em uma melhor performance.
Os parâmetros informados abaixo foram obtidos através de testes realizados e se

outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.


mostraram os mais eficazes em termos de tempo de resposta para o usuário. Eles
visam diminuir ao máximo as paradas de resposta da JVM para execução do GC. São
eles:
-XX:+UseConcMarkSweepGC: Indica para o GC utilizar um algoritmo que trabalha
de forma concorrente e tem uma boa performance na limpeza do Old Generation.
Mesmo assim, se a área do Old Generation estiver muito cheia, pode demorar um
tempo para efetuar a limpeza. Este algoritmo trabalha em duas fases: primeiro varre
toda a área do Old Generation marcando os objetos que podem ser excluídos e depois
passa novamente em toda a área fazendo efetivamente a exclusão dos mesmos.
-XX:+CMSParallelRemarkEnabled: É uma otimização para que o algoritmo acima
trabalhe de forma paralela em algumas etapas, diminuindo o tempo de
processamento.
-XX:+UseParNewGC: Indica para utilizar um algoritmo que trabalha de forma
paralela (várias threads podem ser utilizadas) para limpeza do Eden. A idéia é fazer
com algumas threads fiquem constantemente limpando o Eden, para já liberar o
espaço dos objetos que podem ser excluídos. Assim evita-se a “promoção” dos objetos
para o Survivor e depois para o Old Generation.
-server: Indica para a JVM que o programa que está em execução tem um
comportamento mais próximo de um servidor do que um cliente (um programa com
interface em Java Swing, que roda em uma estação é um exemplo de programa
cliente). Este parâmetro indica que o programa deve ficar executando direto por
vários dias. Com este parâmetro, a JVM faz algumas otimizações no gerenciamento da
memória.
Com os parâmetros acima, o comportamento do GC é o seguinte: fica efetuando
pequenas e constantes limpezas da memória, imperceptíveis para o usuário e
praticamente não consumindo processamento.
Existem vários outros parâmetros para configuração do GC. Mas sempre se
recomenda que eles somente sejam informados caso for necessário. Com os
parâmetros acima, a JVM já consegue um bom desempenho.
PRODUTO AREA GESTÃO CAPITULO
Universidade Universidade Apostila Introdução
Corporativa Corporativa
PRODUTO

Corporativa
Universidade
AREA

Corporativa
Universidade
Apostila
GESTÃO
Introdução
CAPITULO
http://www.umbrant.com/blog/2012/twitter_jvm_tuning.html
http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
Se você quiser saber mais sobre o assunto, pode acessar os seguintes links:

http://www.cubrid.org/blog/dev-platform/how-to-tune-java-garbage-collection/
http://www.cubrid.org/blog/dev-platform/understanding-java-garbage-collection/

http://www.cubrid.org/blog/dev-platform/how-to-monitor-java-garbage-collection/

Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
Rua São Paulo, 825 - Victor Konder

Blumenau - SC - CEP: 89012-001


Rua São Paulo, 825 - Victor Konder
Telefone: +55 47 3039-3580
Blumenau - SC - CEP: 89012-001
PRODUTO AREA GESTÃO CAPITULO universidade.corporativa@senior.com.br
Telefone: 0800 648 3300
www.senior.com.br
ERP Controladoria Gestão de Compras Introdução faleconosco@senior.com.br

www.senior.com.br

Você também pode gostar