Commit 97ef5ef019ff3c9c83980a03b2b3f5d99499b75e
1 parent
8d4eb858
Exists in
master
Revisão e ajuste na documentação do módulo de gerenciamento.
Showing
1 changed file
with
28 additions
and
9 deletions
Show diff stats
documentation/reference/pt-BR/gerenciamento.xml
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | <para>Ao implantar um sistema para produção, muitas vezes é necessário monitorar aspectos sobre o funcionamento desse sistema. Quanta memória |
| 12 | 12 | ele está utilizando? Qual o pico de MIPS utilizados? Quantas sessões estão autenticadas no momento?</para> |
| 13 | 13 | |
| 14 | - <para>Além de monitorar um sistema, as vezes é necessário gerencia-lo alterando aspectos de seu comportamento. Se o sistema está implantado em um | |
| 14 | + <para>Além de monitorar um sistema, as vezes é necessário gerenciá-lo alterando aspectos de seu comportamento. Se o sistema está implantado em um | |
| 15 | 15 | servidor alugado, talvez seja necessário ajustar o uso de MIPS para reduzir custos ou talvez deseje-se solicitar que o sistema limpe dados de sessão |
| 16 | 16 | de autenticação abandonados por usuários que desligaram suas estações sem efetuar "logoff".</para> |
| 17 | 17 | |
| ... | ... | @@ -20,8 +20,9 @@ |
| 20 | 20 | <emphasis>Java Management Extension</emphasis> (JMX).</para> |
| 21 | 21 | |
| 22 | 22 | <para>O <emphasis>Demoiselle Framework</emphasis> dispõe de uma série de ferramentas para nivelar |
| 23 | - o conhecimento do desenvolvedor e facilitar o uso e integraçao de várias tecnologias de gerenciamento e monitoração. Através de seu | |
| 24 | - uso o desenvolvedor pode se despreocupar com detalhes de implementação de cada tecnologia individual e facilmente integrar tais tecnologias.</para> | |
| 23 | + o conhecimento do desenvolvedor e facilitar o uso e integraçao de várias tecnologias de gerenciamento e | |
| 24 | + monitoração. Através de seu uso o desenvolvedor pode facilmente integrar tais tecnologias, despreocupando-se | |
| 25 | + com detalhes de implementação de cada uma delas.</para> | |
| 25 | 26 | </section> |
| 26 | 27 | |
| 27 | 28 | <section> |
| ... | ... | @@ -35,7 +36,7 @@ |
| 35 | 36 | @ManagementController |
| 36 | 37 | public class GerenciadorUsuarios]]></programlisting> |
| 37 | 38 | |
| 38 | - <para>Essa anotação é suficiente para o mecanismo de gerenciamento descobrir sua classe e disponibiliza-la para ser monitorada e gerenciada.</para> | |
| 39 | + <para>Essa anotação é suficiente para o mecanismo de gerenciamento descobrir sua classe e disponibilizá-la para ser monitorada e gerenciada.</para> | |
| 39 | 40 | |
| 40 | 41 | <para>Contudo, a simples anotação acima não informa ao mecanismo quais aspectos da classe serão expostos. Por padrão, um <emphasis>Management Controller</emphasis> |
| 41 | 42 | não expõe nenhum aspecto seu. Para selecionar quais aspectos serão expostos usamos as anotações |
| ... | ... | @@ -43,7 +44,7 @@ public class GerenciadorUsuarios]]></programlisting> |
| 43 | 44 | de classes anotadas com <code>@ManagementController</code>.</para> |
| 44 | 45 | |
| 45 | 46 | <informaltable> |
| 46 | - <tgroup cols="3"> | |
| 47 | + <tgroup cols="3" rowsep="1" colsep="1"> | |
| 47 | 48 | <thead> |
| 48 | 49 | <row> |
| 49 | 50 | <entry>Anotação</entry> |
| ... | ... | @@ -53,7 +54,7 @@ public class GerenciadorUsuarios]]></programlisting> |
| 53 | 54 | </thead> |
| 54 | 55 | |
| 55 | 56 | <tbody> |
| 56 | - <row> | |
| 57 | + <row valign="top"> | |
| 57 | 58 | <entry> |
| 58 | 59 | <emphasis role="BOLD">@ManagedProperty</emphasis> |
| 59 | 60 | </entry> |
| ... | ... | @@ -76,7 +77,7 @@ public class GerenciadorUsuarios]]></programlisting> |
| 76 | 77 | </entry> |
| 77 | 78 | </row> |
| 78 | 79 | |
| 79 | - <row> | |
| 80 | + <row valign="top"> | |
| 80 | 81 | <entry> |
| 81 | 82 | <emphasis role="BOLD">@ManagedOperation</emphasis> |
| 82 | 83 | </entry> |
| ... | ... | @@ -98,7 +99,7 @@ public class GerenciadorUsuarios]]></programlisting> |
| 98 | 99 | </entry> |
| 99 | 100 | </row> |
| 100 | 101 | |
| 101 | - <row> | |
| 102 | + <row valign="top"> | |
| 102 | 103 | <entry> |
| 103 | 104 | <emphasis role="BOLD">@OperationParameter</emphasis> |
| 104 | 105 | </entry> |
| ... | ... | @@ -148,6 +149,24 @@ public class ControleAcesso{ |
| 148 | 149 | monitorLogin.setContadorLogin( monitorLogin.getContadorLogin() + 1 ); |
| 149 | 150 | } |
| 150 | 151 | }]]></programlisting> |
| 152 | + | |
| 153 | + <programlisting role="JAVA"><![CDATA[ | |
| 154 | +@ManagementController | |
| 155 | +public class MonitorLogin{ | |
| 156 | + | |
| 157 | + @ManagedProperty | |
| 158 | + private int contadorLogin; | |
| 159 | + | |
| 160 | + @ManagedOperation | |
| 161 | + public void setContadorLogin(int qtdUsuarioLogados){ | |
| 162 | + contadorLogin = qtdUsuarioLogados; | |
| 163 | + } | |
| 164 | + | |
| 165 | + @ManagedOperation | |
| 166 | + public int getContatorLogin(){ | |
| 167 | + return contadorLogin; | |
| 168 | + } | |
| 169 | +}]]></programlisting> | |
| 151 | 170 | |
| 152 | 171 | <para>Como é possível ver, classes anotadas com <emphasis>@ManagementController</emphasis> podem ser injetadas em qualquer ponto do código. Valores definidos |
| 153 | 172 | para seus atributos retêm seu estado, então um cliente que acesse remotamente o sistema e monitore o valor do atributo <emphasis>contadorLogin</emphasis> verá |
| ... | ... | @@ -181,7 +200,7 @@ public class ControleAcesso{ |
| 181 | 200 | individualmente, as classes monitoradas serão então expostas para todas as extensões escolhidas.</para> |
| 182 | 201 | </tip> |
| 183 | 202 | |
| 184 | - <para>A figura <xref linkend="exemplo_jconsole"/> mostra como uma classe monitorada na aplicação <emphasis>Bookmark</emphasis> é exibida no <emphasis>JConsole</emphasis>.</para> | |
| 203 | + <para>A figura <xref linkend="exemplo_jconsole" /> mostra como uma classe monitorada na aplicação <emphasis>Bookmark</emphasis> é exibida no <emphasis>JConsole</emphasis>.</para> | |
| 185 | 204 | |
| 186 | 205 | <programlisting role="JAVA"><![CDATA[ |
| 187 | 206 | @ManagementController | ... | ... |