Fala !!
Seguinte: Suponha que tenho um EJB3 X e um EJB3 Y. O X tem uma chave estrangeira pra Y chamada “fkY”. E eu represento isso no mapeamento em X usando o “@OneToOne”.
Minha pergunta é, como eu faço isso quando um deles está numa JVM diferente? É possível?
Ainda nao pretendo utilizar assim mas é apenas pra planejamento futuro.
Valeu!! 
Acredito que não seja possível, uma vez que o controle das entidades é feito pelo EntityManager e ele vai rodar numa única JVM.
A não ser que você faça algo com o Terracotta, mas me cheira a gambiarra/design ruim.
Pode explicar um pouco melhor seu cenário geral?
Abs
Opa…
Seguinte, aqui temos varios sistemas que funcionam como modulos de um sistema maior. Esses sistemas se relacionam com um modulo “master” que centraliza algumas coisas como base de dados de usuarios, permissoes, etc.
Eu queria saber se era possivel num futuro proximo (ate mesmo a nivel de aprendizado e de pesquisa pois nao creio que isso sera realmente necessario) se seria possivel configurar varias maquinas virtuais e colocar por exemplo cada .jar de cada aplicação EJB numa JVM diferente (nessas maquinas virtuais).
valeu!
Oi,
Então, possível deve ser, mas vai ser complexo e provavelmente trazer muito mais problemas do que resolver.
Eu sinceramente partiria para outra abordagem menos aventureira :lol:
Mas se for algo apenas para aprendizado(um cenário que não cause problemas caso não dê certo a implementação e vc tenha q mudar tudo) pode ser interessante.
Abs
hummmm…
qual seria uma alternativa viavel pra separar esses modulos no caso do servidor ficar “overloaded”?
eu imaginava que essa seria a mais simples… que teria uma forma de dizer no persistence.xml sei la que no IP tal existe a entidade relacionada… mas depois vi que nao era bem por aí.
ah é ambiente de testes 
abs
Oi,
Bom, dê uma estudada no Terracotta(http://www.terracotta.org/), ele é um servidor que ‘virtualiza JVMs’ ou seja:
Se vc tem 2 Jboss em 2 máquinas distintas, usando um servidor terracotta e configurando ele pra apontar pra esses 2 Jboss, vc consegue fazer com que pareça que isso é uma única JVM, podendo compartilhar objeto entre eles, e mantendo um sincronismo entre essas JVMs com uma performance mto boa.
Talvez ele seja uma alternativa interessante, embora seu objetivo principal não seja fazer isso que vc quer.
Dê uma lida nele, mesmo que não te ajude nesse caso, pode te dar idéia tb.
Abs
Valeu pela dica… Eu acho que isso vai ajudar.
eu vou dar uma estudada e testar pra ver se compensa num ambiente muito sobrecarregado, a principio é apenas pra testar nao pretendo implementar algo assim a curto prazo.
obrigado!
o item 7.2 da especificação JSR 220 possui:
[quote]The remote client view of an entity bean is location independent. A client running in the same JVM as an entity bean instance uses the same API to access the entity bean as a client running in a different JVM on the same or different machine.
The container provides classes that implement the entity bean?s remote and remote home interfaces. The objects that implement the remote home and remote objects are remote Java objects, and are accessible from a client through the standard Java? APIs for remote object invocation [RMI].
A remote client of an entity object can be another enterprise bean deployed in the same or different container or can be an arbitrary Java program, such as an application, applet, or servlet. The remote client view of an entity bean can also be mapped to non-Java client environments, such as CORBA clients not written in the Java programming language.[/quote]
então é possível sim, agora acho que você deveria checar como o container se comporta(seu servidor de aplicação).
muito embora, eu acho que o caminho seja como o grave mencionou, com estratégias ESB’s.