Quartz

Olá pessoal, hoje escreverei um mini exemplo, utilizando o framework Quartz, open source. Essa ferramenta permite você agendar(scheduler) um tipo de tarefas. Objetivo deste post não é ensinar instalar o framework, além do que o google existe vários tutoriais. Mas sim, mostrar um serviço que enviará email’s , em tempos em tempos. Concordo que não é um melhor exemplo para mostrar para vocês. Mas irá ajudar muitos a dar um ponta pé nos seus estudos.

Jar necessário para alguns jar

JavaMail API 1.4.5
Commons Email 1.X

Este serviço abaixo, envia um email.


package br.com.chikasawa.teste;

import org.apache.commons.mail.SimpleEmail;

public class EnviarEmail {
	
	public static void main(String[] args)
	{
		SimpleEmail email = new SimpleEmail();
		
		try {
			email.setDebug(true);
			email.setHostName("smtp.gmail.com");
			email.setAuthentication("seu_login", "sua_senha");
			email.setSSL(true);
			email.addTo("email_destinatario@gmail.com");
			email.setFrom("seu_email@gmail.com");
			email.setSubject("Testando");
			email.send();
			
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println(e.getMessage());
		}
		
	}

}

Essa Classe, cria-se um Job.

package br.com.chikasawa.teste;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class EmailJob implements Job {

	public EmailJob() {
	
	}
	
	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
		// TODO Auto-generated method stub
		EnviarEmail teste = new EnviarEmail();
		teste.main(null);
		
	}		

}

Criamos uma trigger que em 40 segundos ele dispara um job, ou seja, em tempo em tempos o sistema envia um email para o destinatário.

package br.com.chikasawa.teste;

import org.quartz.JobDetail;  
import org.quartz.Scheduler;  
import org.quartz.SchedulerException;  
import org.quartz.Trigger;  
import org.quartz.impl.StdSchedulerFactory;  
import static org.quartz.TriggerBuilder.*;
import static org.quartz.JobBuilder.*;
import static org.quartz.SimpleScheduleBuilder.*;

public class ExecTarefa {

	public static void main(String[] args) throws SchedulerException
	{
		JobDetail job = newJob(EmailJob.class)
			    .withIdentity("myJob", "myGroup")
			    .storeDurably()
			    .requestRecovery()
			    .usingJobData("someKey", "someValue")
			    .build();
		
		Trigger trigger = newTrigger()
			      .withIdentity("myTrigger", "group1")
			      .startNow()
			      .withSchedule(simpleSchedule()
			          .withIntervalInSeconds(40)
			          .repeatForever())            
			      .build();
		
		Scheduler sched = new StdSchedulerFactory().getScheduler();  
		 // Tell quartz to schedule the job using our trigger
		  sched.scheduleJob(job, trigger);		  
		  sched.start(); 		
	}
}

Este exemplo demostrado aqui é para Java SE, em outro post, irei falar sobre Quartz para JEE. Eu aberto a sugestões e críticas.

Extensão Virtualbox

Esse Mini Post ajudar para instalar uma extensão no VirtualBox. Estou utilizando virtual 4.1, porém você poderá abaixar a versão mais atual aqui. Não focaremos a instalação aqui do Virtualbox.

Abaixando a extensão do Virtualbox, para USB.

Abre o VirtualBox, segue os passos abaixo:

File -> Extensions -> Add Package

Agora as Imagens do seu Virtualbox, terão o usb, facilitará o backup por exemplo. Se você gostou deste post indique para seus colegas.

Repositório JDK

Quem já um dia, precisou de um jdk 1.1 ou jdk 1.4 em um projeto. Agora seus problema acabaram, neste repositório você irá encontrar todos as versões desde 1.1 até 1.7.

Acesse aqui

Não esqueça de Indicar para seu colega desenvolvedor.

 

Blog no WordPress.com.

Acima ↑