Olá,
Tenho uma aplicação SWING cliente e uma aplicação no servidor através de RMI !
Na verdade quero garantir que numa mesma máquina, meus aplicativos rodem em uma mesma JVM. Isto porque tenho uma classe com um vector static, para garantir que cada um dos clientes tenham acesso ao mesmo vector.
Fiz um teste no eclipse e, quando uma segunda aplicação instancia um objeto da classe com a variável static ( sem derrubar a primeira aplicação ) , ele considera que a variável da classe está sendo instanciada pela primeira vez , desconsiderando o valor atribuido na outra aplicação.
Cada run do Eclipse é em uma JVM diferente?
Cada aplicação java roda em uma JVM diferente, mesmo na mesma máquina ?
Como faço para que meus clientes tenham acesso somente a um mesmo vector?
Obrigado,
Márcio
Olá,
:?: Cada run do Eclipse é em uma JVM diferente?
:?: Cada aplicação java roda em uma JVM diferente, mesmo na mesma máquina ?
:arrow: Cada vez que você utiliza o executável java para executar uma aplicação, você está em uma máquina virtual diferente. Se o eclipse inicializa externamente o seu software, PROVAVELMENTE este é executado em outra máquina virtual.
:?: Como faço para que meus clientes tenham acesso somente a um mesmo vector?
:arrow: Talvez possa estar falando besteira, mas você podeia fazer com que um subsistema seu tivesse como inicializar suas aplicações, e estas utilizarem um mesmo classloader. Nunca estudei bem os Classloaders, e não sei se realmente funcionará, mas não custa tentar.
:arrow: Talvez voce poderia utilizar uma outra abordagem, como guradar as informações do vetor em um banco ou outra estrutura de dados.