Prezados Srs,
estou aqui batalhando em um sistema client-server, diante da seguinte
decis�o:
tenho dois processos no cliente:
- Uma deamon thread rodando como servi�o NT, que fica enviando arquivos ao
servidor
- Uma aplicativo Swing que serve para o usu�rio configurar quais arquivos
devem ser enviados...
Ambos os processos compartilham a mesma base de dados, que no cliente � um
arquivo XML.
O problema �: quando o usu�rio ativa o aplicativo de configura��o de envio,
o processo de envio j� est� rodando (fica rodando eternamente). Neste
momento, o XML com as informa��es sobre o envio deve ser compartilhado pela
vis�o da interface gr�fica e pelo processo deamon....
Situa��o cr�tica:
- quando o processo de envio estiver enviando um arquivo e o usu�rio tentar
mudar as informa��es sobre esse envio
- ap�s um arquivo ser enviado pela thread deamon, como refletir esse envio
na GUI?
Como fazer para esses processos se comunicarem, evitando inconsist�ncia de
informa��es ?
op��es que estou considerando:
- Bloquear o arquivo cada vez que a thread deamon for envi�-lo
- Criar uma comunica��o entre o processo deamon e a GUI
no caso de criar uma comunica��o, qual a melhor op��o, considerando
desempenho, mem�ria, etc.? RMI? Sockets? File Lock?
J� tenho uma decis�o 99% tomada, mas como esse � um caso de uso bastante
comum
entre os sistemas de troca de mensagens, resolvi jogar na lista para ver se
aparece uma opini�o nova...
Valeu,
Felipe Ga�cho