O Objetivo deste post é mostrar como funciona o disparo de processos através do monitoramento de uma conta de email.
Em resumo, para disparar um processo a partir do monitoramento de uma caixa de email é necessário:
- Configurar as informações da conta de email que se quer monitorar no servidor BPEL
- Criar o processo BPEL que será iniciado a partir da chegada de um novo email
Para configurar uma conta de email no servidor BPEL é necessário colocar um arquivo de configuração no seguinte diretório:
Onde:
- default é o nome do domínio onde o processo será disponibilizado
- metadata e MailService são dois novos diretórios que devem ser criados
O arquivo de configuração deve ser um arquivo XML (com a extensão .xml) e pode ter qualquer nome, o que permite a criação de diversas contas de Email. O nome desse arquivo será o link entre a conta de email e o processo BPEL.
Exemplo do arquivo de configuração:
Este arquivo de configuração suporta tanto o protocolo POP3 quanto o IMAP.
Criando o processo BPEL que será iniciado a partir da chegada de um novo e-mail
O primeiro passo é criar um processo assíncrono com a mensagem de entrada do tipo mailMessagem, esta mensagem está definida no schema Mail.xsd que pode ser encotrado em \bpel\system\xmllib.
Onde:
- localhost é o servidor onde o BPEL está instalado;
- 8888 é a porta onde o BPEL foi instalado.
Definindo o Mail Activation Agent
O Mail Activation Agent irá fazer o polling em uma caixa de email (definida no arquivo de configuração) e irá disparar para cada email recebido uma nova instância do processo.
Para fazer o link do processo com o arquivo de configuração, precisamos adicionar a seguinte definição no arquivo bpel.xml.
Onde:
- heartBeatInterval é a frequência, em segundos, do polling na caixa de email
- accountName é o nome do arquivo de configuração que definimos anteriormente
Dica: Toda vez que você modificar o processo BPEL, o arquivo bpel.xml será gerado novamente, as alterações que você fez serão perdidas e seu processo nunca será inicializado. Então, sempre antes de fazer deploy, adicione novamente a definição do Mail Activation Agent.
Nenhum comentário:
Postar um comentário