Este artigo descreve o método de Java para implementar tarefas de tempo com base no mecanismo de agrupamento de threads e reflexão. Compartilhe -o para sua referência, como segue:
Inclui principalmente as seguintes classes de implementação:
1. Classe principal:
A entrada na execução da tarefa:
Ligue para o método principal para começar a carregar a configuração da tarefa e executar a tarefa
pacote com.yanek.Task; @ param args * / public static void main (string [] args) {scheduledExecutorService Scheduexec = executores.NewsCheduledThreadPool (1); ; I ++) {TaskModel TM = (TaskModel) Tasks.get (i);2. A classe MyTask implementa a interface executável e a chama na classe principal
pacote com.yanek.Task; MyTask (TaskModel TM) {this.taskmodel = tm; (TaskModel .GetclassName ()); E.PrintStackTrace (); e) {e .PrintStackTrace ();3. TaskModel: encapsulamento de classes de tarefas
pacote com.yanek.tak; (String MethodName) {this.methodName = MethodName; SetPeriod (Período longo) {this.period = Período;4. Classe de resolução de configuração de tarefa XMLReader
pacote com.yanek.Task; .Document; List GetTasks () {List Tasks = new ArrayList (); Arquivo (caminho); LISTA <elementos> Children = rootElement.getChildren (); .getChildText ("classe"); .out .println (Childs.get (i) .getChildText ("Method")); ); “); Tases; ); Tarefa de anúncio final! ");5. Arquivo de configuração:
<? xml versão = "1.0" coding = "utf-8"?> <katconfig> <teck> <class> com.yanek.task.taska </s class> <dodod> testa </métodos </inicialdelay> 5 < /InitialDelay> <ipever> 2 </iemuge> </ket> <kky> <class> com.yanek.task.taskb </class> <odhod> testb </métodos> </inicialdelay> 5 </iritherdelay> <periódico > 3 </i Initial> </tarefa> <teck> <class> com.yanek.task.taskc </class> <dodod> testc </métodos> <iitherdelay> 5 </i inicialdelay> <iped> 3 </periódico > </ket> </taskConfig>
6. Classe de tarefa de teste:
O TaskA TaskB TakC define métodos estáticos, e os métodos estáticos dessas classes são configurados no arquivo XML e são chamados.
pacote com.yanek.task; () {System.out.println ("Método Taska Testa Chamada!"); ) {System.out.println ("Teste B"); Takc { / ** * @param args * / public static void main (string [] args) {System.out.println ("Task C Test"); Método do TakC Testc Chamada! ");}}Espero que este artigo seja útil para a programação Java de todos.