Pessoal,
estou criando um mecanismo de importação de arquivos do Diretório Nacional de Endereços (DNE) dos Correios. Tenho que fazer a importação de arquivos de logradouros e inserir estes dados no banco. Estou utilizando uma combinação de JPA (Hibernate) + Spring + VRaptor.
Ao iniciar o SpringContainer eu quero que sejam importados estes arquivos, porém este é um processo demorado e quero dividir o processamento para que seja feito mais rapidamente.
Tentei criar um TaskExecutor com um pool de 5 Threads para poder executar de forma paralela as importações. Porém ao executar o método que faz a importação ocorrem vários erros com o transaction manager. Como:
Caused by: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'transactionManager': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
Criei os Spring beans com o scopo prototype e um FACADE com escopo singleton que apenas pede para o taskexecutor chamar a importação efetiva.
Alguém já teve que fazer este tipo de importação e efetivação paralela ? Tem alguma solução para este problema?
Obrigado.