Olá pessoal,
Estou utilizando dois objetos FileChannel para copiar um arquivo da máquina do usuário para um servidor samba. O servidor é mapeado normalmente na máquina do usuário e os arquivos são copiados via windows numa boa.
Quando rodo o programa no windows XP, ele copia os arquivos e faz todo o processamento sem problemas, porém ao utilizar o windows 98 ele manda a mensagem de erro abaixo:
java.lang.Error: Cleaner terminated abnormally
at sun.misc.Cleaner.clean(Unknown Source)
at sun.nio.ch.FileChannelImpl.unmap(Unknown Source)
at sun.nio.ch.FileChannelImpl.transferToTrustedChannel(Unknown Source)
at sun.nio.ch.FileChannelImpl.transferTo(Unknown Source)
at lib.shxlib.ShxArquivo.copiaArquivo(Unknown Source)
at lib.shxlib.ShxArquivoTexto.copiaArquivo(Unknown Source)
at tintas.mix.FrmMixDisponibiliza.copiaDados(Unknown Source)
at tintas.mix.FrmMixDisponibiliza.access$600(Unknown Source)
at tintas.mix.FrmMixDisponibiliza$Atualiza.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Flush failed
at sun.nio.ch.FileChannelImpl.unmap0(Native Method)
at sun.nio.ch.FileChannelImpl.access$000(Unknown Source)
at sun.nio.ch.FileChannelImpl$Unmapper.run(Unknown Source)
... 10 more
O que eu achei na net, inclusive no forum da Sun, foi de Errors causados por locks do arquivo na rede, mas no meu caso não é, porque o transferTo só é executado depois de ter o lock do arquivo.
Alguém sabe se o problema é causado por alguma coisa no windows 98, ou no Novell, ou como o samba gerencia isso?