diff --git a/documentation/reference/pt-BR/gerenciamento.xml b/documentation/reference/pt-BR/gerenciamento.xml
index da3eaaf..e70e34c 100644
--- a/documentation/reference/pt-BR/gerenciamento.xml
+++ b/documentation/reference/pt-BR/gerenciamento.xml
@@ -24,8 +24,6 @@
uso o desenvolvedor pode se despreocupar com detalhes de implementação de cada tecnologia individual e facilmente integrar tais tecnologias.
-
-
Introdução ao mecanismo
@@ -34,77 +32,18 @@
anotada com o estereótipo @ManagementController.
+@ManagementController
+public class GerenciadorUsuarios]]>
Essa anotação é suficiente para o mecanismo de gerenciamento descobrir sua classe e disponibiliza-la para ser monitorada e gerenciada.Contudo, a simples anotação acima não informa ao mecanismo quais aspectos da classe serão expostos. Por padrão, um Management Controller
- não expõe nenhum aspecto seu. Para selecionar quais aspectos serão expostos usamos as anotações @ManagedProperty e @ManagedOperation.
+ não expõe nenhum aspecto seu. Para selecionar quais aspectos serão expostos usamos as anotações
+ @ManagedProperty e @ManagedOperation. Além disso outras anotações podem ser usadas para personalizar o funcionamento
+ de classes anotadas com @ManagementController.
-
-
- Anotação
- Descrição
- Atributos
-
-
-
-
-
-
- @ManagedProperty
-
-
-
- Marca um atributo na classe como uma propriedade gerenciada, significando que clientes externos podem ler e/ou escrever valores nesses atributos.
- Um atributo marcado pode estar disponível para leitura e/ou escrita. Por padrão, o que determina a visibilidade de um atributo
- marcado é a presença dos métodos getAtributo e setAtributo, respectivamente disponibilizando o atributo
- para leitura e escrita.
- Para sobrescrever esse comportamento existe na anotação @ManagedProperty o atributo accessLevel.
- Com ele é possível criar um atributo apenas para leitura, mas que contenha um método set. O contrário também é possível.
-
-
-
-
- description: Um texto descritivo documentando o propósito da propriedade.
- accessLevel: Sobrescreve o nível padrão de acesso de uma propriedade. Os valores possíveis são
- READ_ONLY, WRITE_ONLY e DEFAULT, que significa que a presença de métodos get e set vai determinar o nível de acesso.
-
-
-
-
-
-
- @ManagedOperation
-
-
-
- Marca um método da classe gerenciada como uma operação, o que significa que clientes externos podem invocar esse método remotamente.
- Operações gerenciadas normalmente são criadas para executar intervenções em um sistema já em execução. Por exemplo, é possível criar uma
- operação que, ao ser invocada, destrua todas as seções abertas no servidor e não utilizadas nos últimos 30 minutos.
-
-
-
-
- description: Um texto descritivo documentando o propósito da operação.
- type: Documenta o propósito da operação. ACTION informa que a operação modificará
- o sistema de alguma forma. INFO diz que a operação coletará e retornará informações sobre o sistema. ACTION_INFO
- informa que a operação modificará o sistema de alguma forma e retornará informações sobre o resultado. UNKNOWN é o padrão
- e significa que o resultado da execução da operação é desconhecido.
-
-
-
-
-
-
-
- Personalizando operações gerenciadas
-
- Abaixo são apresentadas opções para personalizar ainda mais os atributos e operações marcados para gerenciamento da aplicação.
-
-
+ Anotação
@@ -112,15 +51,62 @@
Atributos
-
+
+ @ManagedProperty
+
+
+
+ Marca um atributo na classe como uma propriedade gerenciada, significando que clientes externos podem ler e/ou escrever valores nesses atributos.
+ Um atributo marcado pode estar disponível para leitura e/ou escrita. Por padrão, o que determina a visibilidade de um atributo
+ marcado é a presença dos métodos getAtributo e setAtributo, respectivamente disponibilizando o atributo
+ para leitura e escrita.
+ Para sobrescrever esse comportamento existe na anotação @ManagedProperty o atributo accessLevel.
+ Com ele é possível criar um atributo apenas para leitura, mas que contenha um método set. O contrário também é possível.
+
+
+
+
+ description: Um texto descritivo documentando o propósito da propriedade.
+ accessLevel: Sobrescreve o nível padrão de acesso de uma propriedade. Os valores possíveis são
+ READ_ONLY, WRITE_ONLY e DEFAULT, que significa que a presença de métodos get e set vai determinar o nível de acesso.
+
+
+
+
+
+
+ @ManagedOperation
+
+
+
+ Marca um método da classe gerenciada como uma operação, o que significa que clientes externos podem invocar esse método remotamente.
+ Operações gerenciadas normalmente são criadas para executar intervenções em um sistema já em execução. Por exemplo, é possível criar uma
+ operação que, ao ser invocada, destrua todas as seções abertas no servidor e não utilizadas nos últimos 30 minutos.
+
+
+
+
+ description: Um texto descritivo documentando o propósito da operação.
+ type: Documenta o propósito da operação. ACTION informa que a operação modificará
+ o sistema de alguma forma. INFO diz que a operação coletará e retornará informações sobre o sistema. ACTION_INFO
+ informa que a operação modificará o sistema de alguma forma e retornará informações sobre o resultado. UNKNOWN é o padrão
+ e significa que o resultado da execução da operação é desconhecido.
+
+
+
+
+
+ @OperationParameter
- Esta anotação opcional permite detalhar melhor parâmetros em uma operação gerenciada. O efeito desta anotação é dependente da
+ Esta anotação opcional pode ser usada para cada parâmetro de um método anotado com @ManagedOperation.
+
+ Ele permite detalhar melhor parâmetros em uma operação gerenciada. O efeito desta anotação é dependente da
tecnologia utilizada para comunicação entre cliente e servidor. Na maioria das tecnologias, essa anotação meramente permite ao cliente
exibir informações sobre cada parâmetro: nome, tipo e descrição.
@@ -133,8 +119,8 @@
-
-
+
+
@@ -151,51 +137,43 @@
por expor o número de usuários que efetuaram login no sistema.
+@BusinessController
+public class ControleAcesso{
+
+ @Inject
+ private MonitorLogin monitorLogin;
+
+ public boolean efetuarLogin(String usuario , String senha){
+ // código de login
+ monitorLogin.setContadorLogin( monitorLogin.getContadorLogin() + 1 );
+ }
+}]]>
Como é possível ver, classes anotadas com @ManagementController podem ser injetadas em qualquer ponto do código. Valores definidos
para seus atributos retêm seu estado, então um cliente que acesse remotamente o sistema e monitore o valor do atributo contadorLogin verá
a quantidade de logins efetuados no momento da consulta.
-
-
Conectando um cliente de monitoração
- O demoiselle-core contém as funcionalidades necessárias para marcar aspectos monitoráveis de sua aplicação, mas não conta com nenhum mecanismo
- para estabelecer uma conexão com um cliente de monitoração. Para isso utiliza-se extensões do framework.
+ O demoiselle-core contém as funcionalidades necessárias para marcar aspectos monitoráveis de sua aplicação,
+ mas não conta com nenhum mecanismo para estabelecer uma conexão com um cliente de monitoração. Para isso utiliza-se extensões do framework.
- A extensão padrão do framework Demoiselle é a demoiselle-jmx. Essa extensão utiliza a especificação JMX e
- permite registrar as classes marcadas para monitoração como MBeans. Uma vez que as classes sejam registradas como MBeans, seus atributos
- e operações expostos para monitoração podem ser acessados via JMX por um cliente adequado, como o JConsole que acompanha por padrão o JDK
- da Oracle.
+ A extensão padrão do framework Demoiselle responsável pela tecnologia de monitoração é a demoiselle-jmx.
+ Essa extensão utiliza a especificação JMX (JSR 3) e permite registrar as classes marcadas para monitoração como MBeans.
+ Uma vez que as classes sejam registradas como MBeans, seus atributos e operações expostos para monitoração podem ser
+ acessados via JMX por um cliente adequado, como o JConsole que acompanha por padrão o JDK da Oracle.Para acrescentar a extensão demoiselle-jmx em um projeto Maven, adicione a dependência abaixo no arquivo pom.xml.
- br.gov.frameworkdemoiselle
- demoiselle-jmx
- compile
-
- ]]>
+
+ br.gov.frameworkdemoiselle
+ demoiselle-jmx
+ compile
+]]>
@@ -206,27 +184,27 @@
A figura mostra como uma classe monitorada na aplicação Bookmark é exibida no JConsole.
+@ManagementController
+public class BookmarkMonitor {
+
+ @Inject
+ private BookmarkDAO bookmarkDAO;
+
+ @ManagedOperation(type=OperationType.INFO , description="Informa quantos bookmarks estão salvos no sistema")
+ public int countSavedBookmarks(){
+ return bookmarkDAO.findAll().size();
+ }
+}]]>
JConsole acessando a aplicação Bookmark
-
+ JConsole acessando a aplicação Bookmark
+
\ No newline at end of file
diff --git a/documentation/reference/pt-BR/master.xml b/documentation/reference/pt-BR/master.xml
index 3d62a2f..b8c5f52 100644
--- a/documentation/reference/pt-BR/master.xml
+++ b/documentation/reference/pt-BR/master.xml
@@ -5,7 +5,6 @@
-
-
+
--
libgit2 0.21.2