Amigos,
Estou montando um programa que monitora um diretorio, no entanto, criei um singleton para conexao com o banco de dados.
Ao iniciar o monitoramento, ele utiliza a classe singleton para buscar uns parametros e realiza uma conexao com o Banco de dados.
Ao ter arquivos novos nesse diretorios, ele cria uma nova Thread para tratar esse arquivo e continua a monitoracao.
Se tiver um unico arquivo e for disparado a nova thread, o processo funciona normalmente, sem problemas.
No entanto, caso tenha 2 ou mais arquivos, para cada arquivo é iniciada uma nova Thread, ai comeca o problema:
- para cada Thread, ao chamar o singleton, ao inves de retornar a conexao ja existe, esta criando outra conexao. Quanto a isso, eu ate concordaria, mas ai entra outro problema:
- realizada a primeira operacao de consulta ao banco, ok, no entanto, quando vou realizar a proxima operacao, ao buscar a conexao da classe singleton, ele gera um erro: NullException. Se acompanho as sessoes no banco de dados, as sessoes criadas nao existem mais, ou seja, por algum motivo, que nao faco ideia, todas as Threads estao perdendo a conexao, inclusive a Thread principal, que ainda continua monitorando o diretorio.
Obs: estou realizando todo o processo com Jdbc, sem hibernate ou outro opcao para conexao com banco.
Atenciosamente,
Marcelo Honório.