diff --git a/documentation/reference/pt-BR/gerenciamento.xml b/documentation/reference/pt-BR/gerenciamento.xml index 85376f6..f5a9a4b 100644 --- a/documentation/reference/pt-BR/gerenciamento.xml +++ b/documentation/reference/pt-BR/gerenciamento.xml @@ -171,6 +171,50 @@ public class MonitorLogin{ 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. + +
+ Enviando notificações da aplicação + + + É comum que aplicações monitoradas permaneçam em estado de espera - é função do cliente de monitoração acessar a aplicação e obter + as informações necessárias. + + + + No entanto existem casos onde é necessário que a aplicação comunique clientes de eventos ocorridos no sistema. Um exemplo é um monitor + de espaço em disco que envia um alerta quando esse espaço for menor que 20% do total. + + + + Para essa funcionalidade o Demoiselle Framework disponibiliza o utilitário NotificationManager, que + pode ser injetado em sua aplicação a qualquer momento para notificar clientes externos de eventos importantes. + + + Considere o exemplo abaixo: + + + + + Nesse exemplo podemos ver como enviar uma notificação em decorrência de um evento gerado pela aplicação. Dessa forma + a aplicação pode comunicar a um agente de monitoração sobre o espaço disponível no disco, ao invés de aguardar que o agente + conecte-se à aplicação para solicitar essa informação explicitamente. + +
+
@@ -200,22 +244,22 @@ public class MonitorLogin{ individualmente, as classes monitoradas serão então expostas para todas as extensões escolhidas. - A figura mostra como uma classe monitorada na aplicação Bookmark é exibida no JConsole. + A figura mostra como uma classe monitorada é exibida no JConsole. - -
JConsole acessando a aplicação <emphasis>Bookmark</emphasis> +
JConsole acessando uma aplicação monitorada @@ -223,6 +267,21 @@ public class BookmarkMonitor { JConsole acessando a aplicação Bookmark
+ + + É possível perceber os seguintes elementos nessa imagem: + + Uma classe gerenciada HelloWorldManager com uma operação chamada saySomething + Uma classe geradora de notificações NotificationBroadcaster responsável por converter as notificações para a API JMX + + + + + Através do JConsole é possível invocar comandos e acessar atributos em todas as classes anotadas com @ManagementController + em aplicações que usam o demoiselle-jmx. Também é possível inscrever-se às notificações enviadas por NotificationBroadcaster + e receber todas as notificações enviadas pela aplicação. + +
diff --git a/documentation/reference/pt-BR/images/jmx-jconsole-example.png b/documentation/reference/pt-BR/images/jmx-jconsole-example.png index 29a1da0..696a86a 100644 Binary files a/documentation/reference/pt-BR/images/jmx-jconsole-example.png and b/documentation/reference/pt-BR/images/jmx-jconsole-example.png differ -- libgit2 0.21.2