Um gerenciador de trabalho age como um executor gerenciado (conjunto de encadeamentos), factory de encadeamento e
serviço de contexto de encadeamento para componentes de aplicativos que usam o Concurrency Utilities for Java™ EE ou beans assíncronos. Utilize o console administrativo para configurar gerenciadores de trabalho.
Antes de Iniciar
Se não estiver familiarizado com os gerenciadores de trabalho, consulte o tópico conceitual Gerenciadores de trabalho.
Sobre Esta Tarefa
O serviço do gerenciador de trabalho está sempre ativado. Nas versões anteriores do produto,
o serviço do gerenciador de trabalho podia ser desativado através do console administrativo
ou do serviço de configuração. Os objetos de configuração do serviço do gerenciador de trabalho
ainda estão presentes no serviço de configuração, mas o atributo ativado é ignorado.
É possível definir vários gerenciadores de trabalho para cada célula. Cada gerenciador de trabalho é limitado a um local exclusivo no namespace Java Naming and
Directory Interface (JNDI).
Importante: O serviço do gerenciador de trabalho é suportado somente a partir do contêiner do Enterprise JavaBeans (EJB) ou do contêiner da web. A consulta e utilização de um
gerenciador de trabalho configurado a partir de um contêiner cliente do aplicativo Java Platform, Enterprise Edition (Java EE)
não são suportadas.
Procedimento
- Inicie o administrative console.
- Selecione .
- Especifique um valor de Escopo e clique em Novo.
- Especifique as propriedades requeridas para definições do gerenciador de trabalho.
- Escopo
- O escopo do recurso configurado. Esse valor indica o local do arquivo de configuração.
- Nome
- O nome de exibição para o gerenciador de trabalho.
- Nome JNDI
- O nome JNDI (Java Naming and Directory Interface) do gerenciador de trabalho. As referências do
ambiente de recursos podem ser ligadas a esse nome e utilizadas por componentes que precisam consultar o gerenciador de trabalho. Cada gerenciador de trabalho deve ter um nome da JNDI exclusivo na célula.
- Número de Encadeamentos de Alarme
- O número máximo de encadeamentos a serem usados para um conjunto de encadeamentos separados, o qual é dedicado
aos alarmes de processamento e trabalho planejado para execução em um ponto específico no tempo. O gerenciador de trabalho monitora e
despacha alarmes pendentes e trabalho planejado para esse conjunto de encadeamentos.
Nota: O número de encadeamentos de alarme especificado para esta
propriedade não tem nenhum impacto sobre o número de encadeamentos especificado
para as propriedades Número Mínimo de Encadeamentos e Número Máximo de Encadeamentos. A propriedade Número de Encadeamentos de Alarme aplica-se somente ao conjunto de encadeamentos
para encadeamentos de alarme. As propriedades Número Mínimo de Encadeamentos e Número Máximo de
Encadeamentos aplicam-se somente ao conjunto de encadeamentos principal que manipula
as solicitações de trabalho.
- Número Mínimo de Encadeamentos
- Aplica-se ao conjunto de encadeamentos principais do trabalho enviado ao gerenciador de trabalho para execução
imediata (não planejada para um ponto específico no tempo). O número de encadeamentos a serem mantidos no conjunto de encadeamentos, criados conforme necessário.
- Número Máximo de Encadeamentos
Nota: Aplica-se ao conjunto de encadeamentos principais do trabalho enviado ao gerenciador de trabalho para execução
imediata (não planejada para um ponto específico no tempo). O número máximo de encadeamentos a serem criados no conjunto de encadeamentos. O número máximo de encadeamentos
pode ser excedido temporariamente quando a caixa de seleção Passível de Aumento é selecionada. Esses encadeamentos adicionais serão descartados quando o trabalho for concluído no encadeamento.
- Prioridade de Encadeamento
- A prioridade para designar a todos os encadeamentos no conjunto de encadeamentos e todos os encadeamentos
criados pelo thread factory gerenciado.
Cada encadeamento tem uma prioridade. Os encadeamentos com prioridade mais alta são executados antes dos encadeamentos com prioridade mais baixa. Para obter informações adicionais sobre como as prioridades de encadeamento são usadas, consulte o Javadoc para o método setPriority da classe java.lang.Thread na especificação Java Standard
Edition.
- [Opcional] Especifique uma Descrição e uma Categoria para o
gerenciador de trabalho.
- [Opcional] Selecione os Nomes de serviços (tipos de contexto de encadeamento disponíveis para
componentes Java EE) que você deseja que esse gerenciador de trabalho capture a partir do encadeamento de envio (ou
do encadeamento que consulta ou injeta p thread factory gerenciado) e se tornem disponíveis no encadeamento de
execução. A lista de serviços selecionados também é conhecida como a política de contexto de "tolerância" para o gerenciador de trabalho.
Selecionar mais serviços do que o necessário poderá reduzir o desempenho.
- [Opcional] Selecione Propriedades Customizadas > Novo. Outros campos opcionais incluem:
- Nome
- lateWorkTime
- Valor
- Número de segundos
- Descrição
- Especifique uma descrição
- Tipo
- Selecione java.lang.String
A propriedade customizada lateWorkTime é o número de segundos após o qual um trabalho de início tardio deverá causar o log de uma mensagem informativa. O log da mensagem informativa é efetuado uma vez para cada gerenciador de trabalho. O valor padrão é de 60 segundos e um valor de 0 desativa essa propriedade.
- Nome
- lateAlarmTime
- Valor
- Número de segundos
- Descrição
- Especifique uma descrição
- Tipo
- Selecione java.lang.String
A propriedade customizada lateAlarmTime é o número de segundos após o qual um alarme de disparo tardio deverá causar o registro de uma mensagem informativa. O log da mensagem informativa é efetuado uma vez para cada gerenciador de trabalho. O valor padrão é 5 segundos e um valor de 0 desativa esta propriedade.
- Salve a configuração.
Resultados
Agora o gerenciador de trabalho está configurado e pronto para ser acessado pelos componentes do aplicativo que precisam gerenciar o início do código assíncrono.