Commit 9f4d2bc5770ba7e1f545397ab19daf0f1ac615cd

Authored by Dancovich
1 parent 5c5a48ba
Exists in master

IN PROGRESS - issue FWK-123: Revisar e atualizar documentação do

Framework 2.4.0 
https://demoiselle.atlassian.net/browse/FWK-123
Showing 1 changed file with 25 additions and 8 deletions   Show diff stats
documentation/reference/pt-BR/gerenciamento.xml
... ... @@ -177,11 +177,7 @@ public class MonitorLogin{
177 177  
178 178 <para>
179 179 É comum que aplicações monitoradas permaneçam em estado de espera - é função do cliente de monitoração acessar a aplicação e obter
180   - as informações necessárias.
181   - </para>
182   -
183   - <para>
184   - No entanto existem casos onde é necessário que a aplicação comunique clientes de eventos ocorridos no sistema. Um exemplo é um monitor
  180 + 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
185 181 de espaço em disco que envia um alerta quando esse espaço for menor que 20% do total.
186 182 </para>
187 183  
... ... @@ -209,9 +205,30 @@ public class DiskWritter{
209 205 }]]></programlisting>
210 206  
211 207 <para>
212   - Nesse exemplo podemos ver como enviar uma notificação em decorrência de um evento gerado pela aplicação. Dessa forma
213   - 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
214   - conecte-se à aplicação para solicitar essa informação explicitamente.
  208 + Como é possível ver no exemplo, o utilitário <emphasis>NotificationManager</emphasis> é usado para enviar notificações em decorrência
  209 + de eventos ocorridos na sua aplicação. O uso mais comum é notificar avisos ou problemas para que ações sejam tomadas, mas é possível também
  210 + usar essa técnica para tomar ações preventivas ou informativas - uma notificação que o backup noturno foi feito com sucesso por exemplo.
  211 + </para>
  212 +
  213 + <para>
  214 + A interface <emphasis>Notification</emphasis> é a base das notificações enviadas e possui apenas um método:
  215 + <emphasis>Object getMessage()</emphasis>. A API de monitoração não força o tipo específico da mensagem e usualmente essa mensagem
  216 + será uma <emphasis>String</emphasis> (como no exemplo acima), mas algumas extensões podem utilizar tipos específicos de mensagem
  217 + capazes de carregar mais informações.
  218 + </para>
  219 +
  220 + <para>
  221 + O <emphasis>demoiselle-core</emphasis> disponibiliza por padrão o tipo concreto de notificação <emphasis>GenericNotification</emphasis> - uma
  222 + implementação direta da interface <emphasis>Notification</emphasis> que permite definir a mensagem a ser retornada por <emphasis>getMessage()</emphasis>.
  223 + Além disso o <emphasis>demoiselle-core</emphasis> disponibiliza o tipo especial de mensagem <emphasis>AttributeChangeMessage</emphasis>, que permite
  224 + especificar além do texto da mensagem enviada, dados sobre a mudança de valor de um atributo, como o nome do atributo alterado, o valor antigo e o novo.
  225 + </para>
  226 + <para>
  227 + Notificações contendo mensagens do tipo <emphasis>AttributeChangeMessage</emphasis> são automaticamente enviadas por padrão pelo framework quando um
  228 + agente de monitoração altera o valor de uma propriedade anotada com <emphasis>@ManagedProperty</emphasis>, mas você também pode enviar mensagens desse tipo
  229 + quando propriedades de sua aplicação são alteradas. Extensões e componentes compatíveis com a API de monitoração do <emphasis>Demoiselle Framework</emphasis>
  230 + (por exemplo, a extensão <emphasis>demoiselle-jmx</emphasis>) podem fornecer implementações específicas da interface <emphasis>Notification</emphasis> e
  231 + tipos especializados de mensagem. Consulte a documentação desses componentes para aprender sobre seus usos.
215 232 </para>
216 233 </section>
217 234  
... ...