Commit 9f4d2bc5770ba7e1f545397ab19daf0f1ac615cd
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 | ... | ... |