Tags
Nesta primeira parte quero demonstrar como faremos para ler um arquivo de um diretório com o FileAdapter do BPEL, posteriormente irei abordar o máximo possivel deste maravilhoso componente para manipulação de arquivos.
Para termos um exemplo o mais pratico possivel, resolvi criar um Post por parte e cada parte será a evolução da anterior, por isso caso você queira acompanhar e fazer a aplicação inteira é muito importante que você faça ou acompanhe a partir da primeira parte.
Veja abaixo o que irei demonstrar nos próximos Posts sobre o FileAdapter:
- Trabalhando com FileAdapter no BPEL – Parte 1: Lendo o arquivo de um diretório
- Trabalhando com FileAdapter no BPEL – Parte 2: Lendo o conteúdo do arquivo
- Trabalhando com FileAdapter no BPEL – Parte 3: Gravando o conteúdo do arquivo no Banco de Dados
- Trabalhando com FileAdapter no BPEL – Parte 4: Renomeando ou Movendo um arquivo
- Trabalhando com FileAdapter no BPEL – Parte 5: Deletando um arquivo
Vamos começar
Primeiro, crie um novo Projeto ainda vazio com o nome FileAdapterBPEL conforme abaixo:
Arraste um componente File Adapter para Exposed Services e coloque o nome CapturaArquivo e clique em Next
Na opção abaixo, deixe marcado a opção Define from operation and schema (specified later) e clique em Next
Abaixo marque a opção Read File e selecione a opção Do not read file content e clique em Next
Agora, marque a opção Logical Name e em Directory for Incoming Files coloque o nome FILE_IN
Obs: Para que você entenda, posteriormente iremos definir o diretorio onde estará o arquivo e passaremos para o File Adapter através desta variável FILE_IN
Deixe marcado a opção Process files recursively e as demais desmarcadas e clique em Next
Deixe marcada a opção File Wildcards e em Include Files with Name Pattern coloque o nome arquivo.txt e clique em Next
Abaixo vou definir para que o nosso diretorio seja lido em uma frequência de 5 em 5 segundos, então clique em Next
Obs: Aqui é interessante você entender que nosso File Adapter irá ler o conteúdo da pasta que iremos definir posteriormente a cada 5 segundos, ou seja, não irá ler o mesmo arquivo novamente a não ser que ele seja alterado ou que coloquemos um novo arquivo.
Na próxima tela clique em Finish
Feito isso, você terá um processo conforme abaixo:
Agora clique com o botão direito no seu composite.xml e clique em Generate Config Plan
Clique em OK
Abra seu arquivo FileAdapterBPEL_cfgplan.xml e procure pela tag <service name=”CapturaArquivo”> e abaixo, em <replace> coloque /home/uans/Arquivos (ou conforme você queira mas lembre-se de criar esta sequência de diretorios em seu home com as permissões necessárias)
<service name=”CapturaArquivo”>
<property name=”FILE_IN”>
<replace>/home/uans/Arquivos</replace>
</property>
<binding type=”jca”/>
</service>
Salve o arquivo e vamos agora fazer o deploy do seu projeto mas apontando para este diretório usando seu Config Plan.
Com o botão direito em cima do seu projeto clique em Deploy >> FileAdapterBPEL
Clique em Next
Na tela abaixo, clique no sinal de + ao lado de SOA Configuration Plan e selecione a opção FileAdapterBPEL_cfgplan.xml e abaixo marque a opção Overwrite any existing composites with the same revision ID e desmarque a opção Keep running instances on after redeployment e clique em Next
Marque a opção localhost e clique em Next
Clique em Next novamente
Clique em Finish
Na aba Deployment aguarde até que seu deploy tenha a mensagem
—- Deployment finished. —-
Agora antes de entrarmos no diretorio e criarmos um arquivo.txt, vamos primeiro habilitar o trace e você verá que será criada uma instância ao colocarmos o arquivo.
No seu Browser vá no endereço http://localhost:10000/em
Obs: A porta 10000 é o numero que escolhi ao criar o meu Domínio.
Faça o Login:
Clique no seu projeto: FileAdapterBEL[1.0]
Clique em Settings >> Composite Audit Level e clique em Development, posteriormente clique Yes
Agora vá no diretorio /home/uans/Arquivos e crie um arquivo chamado arquivo.txt
Volte no EM (http://localhost:10000/em) e veja que uma instância foi criada, veja também que ele estará com status Running.
No proximo Post iremos inserir informações dentro deste arquivo.txt e iremos ler o conteúdo deste arquivo.
Duvidas ? Deixe seu comentário e faça download deste Projeto
Abraços e até a Próxima
/:-D