Quartz

Tela Software:
Quartz
Detalhes de Software:
Versão: 2.0
Data de upload: 12 May 15
Revelador: Terracotta, Inc.
Licença: Livre
Popularidade: 0

Rating: 1.0/5 (Total Votes: 1)

O quartzo é uma fonte aberta e, serviço full-featured livre programação de trabalho que pode ser integrado com, ou utilizados ao longo do lado praticamente qualquer aplicativo Java EE ou Java SE - desde o mais pequeno aplicativo autônomo para o maior sistema de e-commerce .
Quartzo pode ser usado para criar agendas simples ou complexas para executar dezenas, centenas ou até dezenas de milhares de postos de trabalho; empregos cujas tarefas são definidas como componentes padrão Java que podem executados praticamente qualquer coisa que você pode programá-los para fazer. O Quartz Scheduler inclui muitos recursos de nível empresarial, tais como transações JTA e clustering.

Recursos :


  • Ambientes de tempo de execução:
  • Quartz pode executar incorporado em outro aplicativo livre de pé
  • Quartz pode ser instanciado dentro de um servidor de aplicativos (ou servlet container), e participe de transações XA
  • Quartz pode ser executado como um programa stand-alone (dentro de sua própria Máquina Virtual Java), para ser usado via RMI

  • (Com capacidades de carga de equilíbrio e de failover)
  • Quartz pode ser instanciado como um conjunto de programas autônomos

  • Agendamento de trabalho:
  • Os trabalhos são programados para executar quando ocorre um determinado Trigger. Triggers podem ser criados com praticamente qualquer combinação das seguintes directivas ...
  • em um determinado momento do dia (para o milissegundo)
  • em determinados dias da semana
  • em determinados dias do mês
  • em determinados dias do ano
  • não em determinados dias listados dentro de um calendário registrada (como feriados comerciais)
  • repetida um número específico de vezes
  • repetido até que uma hora / data
  • repetido indefinidamente
  • repetido com um intervalo de atraso

O que é novo nesta versão:

  • Contorno da maioria das mudanças na API significativa:
  • métodos de API que retornam (ou tomam como parâmetros) agora retornam matrizes (ou tomar) digitado coleções. Por exemplo, em vez de getJobGroupNames (): String [] agora temos getJobGroupNames (): Lista
  • Job e identificação Gatilho agora é baseada em JobKey e TriggerKey. Chaves incluir tanto um nome e um grupo. Os métodos que operam em determinados empregos / gatilhos agora tomar chaves como o parâmetro. Por exemplo, getTrigger (chave TriggerKey): Trigger, em vez de getTrigger (String nome, grupo String):. Gatilho
  • Trigger é agora uma interface, em vez de uma classe. Da mesma forma para SimpleTrigger, CronTrigger, etc.
  • New DSL / API baseada construtor para trabalhos de construção e gatilhos:
  • Métodos de TriggerUtils relacionados a fácil construção de datas foram movidas para nova classe DateBuilder, que pode ser usado com as importações estáticas para bem criar ocorrências de Date para início e término gatilho, etc.
  • A interface StatefulJob foi preterido em favor de novas anotações de nível de classe para as classes de Emprego (usando ambas as anotações produz equivalente à da interface StatefulJob de idade):
  • ersistJobDataAfterExecution - instrui o agendador de re-armazenar conteúdos JobDataMap de Jó após a execução for concluída
  • .
  • isallowConcurrentExecution - instrui o programador para bloquear outras instâncias do mesmo trabalho (por JobKey) de executar quando um já está
  • .
  • Nova anotação:ExecuteInJTATransaction. Adicionando essa anotação a uma classe Job instrui Quartz para iniciar uma transação JTA antes de executar o trabalho (e cometer / rollback após a conclusão / exceção). A propriedade de configuração 'wrapJobExecutionInUserTransaction' da versão 1.x ainda existe, mas a nova anotação permite que você sintonize o comportamento on por posto de trabalho, enquanto a propriedade de configuração afeta todos os trabalhos.
  • As mudanças mais significativas uso de JobListener e TriggerListener:
  • A remoção da distinção entre "global" e ouvintes "não-globais"
  • JobDetails e Triggers não são mais configurado com uma lista de nomes de ouvintes de notificação, em vez ouvintes identificar quais tarefas / desencadeia eles estão interessados ​​em.
  • Os ouvintes estão agora atribuído um conjunto de instâncias Matcher -. que fornecem regras de correspondência para o emprego / desencadeia que desejam receber eventos para
  • Os ouvintes são actualmente geridos através de uma API ListenerManager, em vez de diretamente com a API Scheduler.
  • A classe SchedulerException e hierarquia de classes foi limpa.
  • DateIntervalTrigger foi renomeado para CalendarIntervalTrigger (ou mais exatamente a classe concreta é agora CalendarIntervalTriggerImpl).
  • A noção (propriedade) de "volatilidade" de postos de trabalho e gatilhos foi eliminada.
  • Nova MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY de instruções falha de ignição gatilho permite um gatilho ser configurado de tal forma a que seja seletivamente ignorado falha de ignição de todo o manuseamento. Em outras palavras, ele será acionado assim que puder, sem tratamento especial - uma ótima opção para melhorar o desempenho particularmente com configurações que têm lotes de one-shot (não-repetição) desencadeia
  • .
  • método compareTo do Gatilho () agora se relaciona corretamente ao seu método () iguais, em que ele compara a chave do gatilho, ao invés de fogo próxima vez. Um novo comparador que classifica gatilhos acordo com o tempo fogo, prioridade e chave foi adicionado como Trigger.TriggerTimeComparator.
  • Novos recursos:
  • Scheduler.clear () método fornece uma maneira conveniente (e perigoso!) Para remover todos os trabalhos, gatilhos e calendários do planejador.
  • Scheduler.scheduleJobs (Mapa triggersAndJobs, boolean substituir) método fornece disso conveniente de grandes quantidades de postos de trabalho e gatilhos.
  • Scheduler.unscheduleJobs (Lista triggerKeys) método fornece unscheduling conveniente de grandes quantidades de postos de trabalho.
  • Scheduler.deleteJobs (Lista jobKeys) método fornece exclusão em massa conveniente de postos de trabalho (e gatilhos relacionados).
  • Scheduler.checkExists (JobKey jobKey) e Scheduler.heckExists (TriggerKey triggerKey) métodos fornece uma maneira conveniente para determinar singularidade do trabalho chaves / gatilho (em oposição ao velho tem de ter que recuperar o trabalho / gatilho pelo nome e, em seguida, verificar se o resultado foi nulo).
  • JDBCJobStore agora permite que um conjunto de tabelas a ser usado por várias instâncias do planejador distintas
  • JDBCJobStore é agora capaz de armazenar implementações gatilho non-core sem utilizar colunas BLOB, através do uso da nova interface TriggerPersistenceDelegate, que pode (opcionalmente) ser implementado por implementadores de tipos de disparo personalizado.
  • JDBCJobStore agora inclui um SybaseDelegate para uma melhor compatibilidade com Sybase
  • expressões Cron agora suporta a capacidade de especificar um deslocamento para o "último dia do mês" e "último dia útil do mês" expressões. Por exemplos:. "L-3" (três dias de volta a partir do último do mês) ou "L-3W" (dia da semana mais próximo do dia, três dias de volta a partir do último dia do mês)
  • arquivos XML contendo dados de programação têm agora uma maneira de especificar gatilho começar vezes mais deslocamentos para o futuro a partir do momento em que o arquivo é processado (útil para gatilhos que precisa para começar a disparar algum tempo após a aplicação é iniciada / implantado).
  • A partir do esquema:
  • esquema de arquivo XML agora suporta a especificação do imóvel "prioridade" de gatilhos.
  • QuartzInitializerListener (e QuartzInitializerServlet) apoia novo parâmetro "esperar-on-shutdown", o que fará com que o Agendador de esperar para a execução de trabalhos para concluir antes de desligar, quando o recipiente Servlet é un-implementação do aplicativo.
  • Adicionado DirectoryScanJob aos trabalhos do núcleo que navio com Quartz, também acrescentou parâmetro mínimo de idade para FileScanJob pré-existente.
  • Adicionado a capacidade de adicionar o ServletContext no SchedulerContext ao usar QuartzInitializerListener ou QuartzInitializerServlet para inicializar Quartz dentro de um aplicativo web Java EE.
  • Diversos:
  • Várias melhorias de desempenho, incluindo (mas não limitado a):
  • Capacidade de gatilhos batch-adquirem que estão prontos para ser disparados, que podem fornecer melhorias de desempenho para programadores muito ocupadas
  • Os métodos para além lote / remoção de postos de trabalho e gatilhos (consulte "Novos recursos")
  • Triggers têm uma nova opção instrução falhas de ignição, MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, o que pode ser útil se você não precisar lidar com falhas de ignição para o seu disparo (s), e querem tirar vantagem de um ganho de desempenho
  • Várias correções de bugs, para uma listagem completa veja as notas de lançamento do Jira: https://jira.terracotta.org/jira/secure/ReleaseNote.jspa?projectId=10282&version=10842
  • DBCP não é mais usado para conexão com o banco de pooling, C3PO é usado em vez disso.
  • implementações JobFactory agora são inicializados com (passado) um identificador para o Scheduler.
  • Todos os exemplos embalados nos? Exemplos? diretório da distribuição de quartzo foram atualizadas para fazer uso de (demonstrar) a nova API para definir empregos e gatilhos.

O que é novo na versão 1.6.6:

  • algumas correções importantes
  • algumas pequenas melhorias

Requisitos :

  • Java 2 Standard Edition Runtime Environment

Comentário para Quartz

Comentários não encontrado
Adicionar comentário
Ligue imagens!