Um serviço de executor gerenciado é usado por aplicações para executar tarefas submetidas de forma assíncrona. As tarefas são executadas em threads que são iniciados e gerenciados pelo contêiner. O contexto do contêiner é propagado para o thread que executa a tarefa.
No GlassFish Server, você configura um recurso de serviço de executor gerenciado e o disponibiliza para uso por componentes da aplicação como servlets e EJBs.
Na árvore de navegação, expanda o nó Recursos.
No nó Recursos, expanda o nó Recursos Concorrentes.
No nó Recursos Concorrentes, selecione Serviços de Executor Gerenciado.
A página Serviços de Executor Gerenciado é aberta.
Na página Serviços de Executor Gerenciado, clique em Novo.
A página Novo Serviço de Executor Gerenciado será aberta.
No campo Nome da JNDI, digite um nome exclusivo que identifique o recurso.
O nome da JNDI é registrado no serviço de atribuição de nomes JNDI e usado por aplicações para pesquisar o recurso. Use o formato concurrent/name. Por exemplo, concurrent/myManagedExecutorService. O nome só pode conter caracteres alfanuméricos, sublinhado, traço ou ponto.
Marque a caixa de seleção Informações de Contexto Ativadas para propagar contextos a threads, e selecione os contextos que você deseja propagar.
Esta opção é ativada e todos os contextos são selecionadas por default. Use Shift-clique ou Control-clique para escolher vários contextos. Se essa opção estiver desativada, os contextos não serão propagados, mesmo que eles estejam selecionados.
Marque a caixa de seleção Status ativo para ativar o recurso.
Esta opção é ativada por default, o que significa que o recurso fica disponível assim que é criado.
No campo Prioridade do Thread, digite a prioridade a ser designada aos threads criados.
O valor default é 5.
Marque a caixa de seleção Tarefas de Longa Execução Ativadas para usar o recurso de processar tarefas de longa execução.
Se esta opção estiver ativada, tarefas de longa execução não serão relatadas como paradas. Por default, essa opção está desativada.
No campo Bloqueado Após, digite o número de segundos durante os quais as tarefas podem ser executadas antes de se considerar que elas não estão respondendo.
O valor default é 0, o que significa que as tarefas nunca são consideradas sem resposta.
No campo Descrição, digite uma descrição curta do recurso.
Esta descrição é um valor de string e pode incluir no máximo 250 caracteres.
No campo Tamanho Núcleo, digite o número de threads a serem mantidos em um pool de threads, mesmo que eles estejam inativos.
Quando uma nova tarefa é submetida e o número de threads em execução é menor que o tamanho do núcleo, um novo thread é criado para manipular a solicitação. O valor default é 0, o que significa que novos threads nunca são criados, a menos que a fila de tarefas esteja cheia ou que o recurso esteja utilizando o enfileiramento direto. O enfileiramento direto ocorre quando a capacidade de enfileiramento de tarefas é 0 ou quando ela é 2147483647 e o tamanho do núcleo é 0.
No campo Tamanho Máximo do Pool, digite o número máximo de threads que um pool de threads pode conter.
O valor default é 2147483647, o que significa que o pool de threads é essencialmente não vinculado e pode conter qualquer número de threads.
No campo Manutenção de Funcionamento, digite o número de segundos durante os quais os threads podem permanecer inativos quando o número de threads for maior que o tamanho do núcleo.
O valor default é 60.
No campo Tempo de Vida do Thread, digite o número de segundos durante os quais os threads podem permanecer em um pool de threads antes de serem expurgados, independentemente de o número de threads ser maior do que o tamanho do núcleo ou de se os threads estão inativos.
O valor default é 0, o que significa que os threads nunca são expurgados.
No campo Capacidade da Fila de Tarefas, digite o número de tarefas submetidas que podem ser armazenadas na fila de tarefas que aguardam execução.
O valor default é 2147483647, o que significa que a fila de tarefas é essencialmente não vinculada e pode armazenar qualquer número de tarefas submetidas.
Na seção Propriedades Adicionais, não adicione propriedades.
O GlassFish Server não define propriedades adicionais para este tipo de recurso. Além disso, este tipo de recurso não usa atualmente propriedades adicionais.
Clique em OK.