| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2010 17:10:06
|
Victor
JavaChild
Membro desde: 08/11/2003 09:54:38
Mensagens: 120
Offline
|
To com o seguinte problema: tenho um servidor glassfish onde tenho um ejb @Stateless, e vários clientes acessam esse servidor ao mesmo tempo.
Porém não estou conseguindo sincronizar para que não ocorra acesso simultaneo em um método, por exemplo:
@Stateless
public class VendaBean implements VendaRemote {
@PersistenceContext(unitName = "Siac-persistencia")
EntityManager em;
public boolean cadastrarVenda(Venda venda) {
try {
em.persist(venda);
return true;
} catch (Exception e) {
return false;
}
}
}
Os clientes acessam esse método ao mesmo tempo e não consegue cadastrar no banco corretamente.
Por favor, como consigo resolver isso, preciso urgentemente.
Obrigado!
|
victorcastrojunior@yahoo.com.br |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2010 17:17:07
|
Eder Peixoto
JavaEvangelist
Membro desde: 30/01/2007 01:53:51
Mensagens: 312
Offline
|
Synchronized serve?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2010 17:25:13
|
asaudate
GUJ Master
![[Avatar]](/images/avatar/974e2945a18e0bfb8e3aa8becac3e65c.jpg)
Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline
|
Pergunta básica... te ocorreu que, se o sistema é web, obviamente não se deve sincronizar acesso (já que, se você o fizer, o sistema não vai ser escalável, vai ser estupidamente lento, a operação de um usuário vai atrapalhar a de outro, etc...) ?
Já parou pra pensar que existem milhares de aplicações rodando com EJB´s e em nenhuma delas o "usuário tem problemas pra cadastrar errado" ? E que, se isso está acontecendo, existe algum erro de lógica aí?
|
Alexandre Saudate
__________________________
Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.
Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate
Evite usar Axis2!!! Leia aqui para mais detalhes!
@alesaudate
Quer ler um blog especializado em web services e SOA?
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2010 17:28:26
|
Victor
JavaChild
Membro desde: 08/11/2003 09:54:38
Mensagens: 120
Offline
|
Eder Peixoto, já o usei o Synchronized e não funcionou.
asaudate, o sistema nao é web é cliente/servidor, não tem como usar synchronized num sistema desses, a não ser só local? como acha q posso resolver isso?
|
victorcastrojunior@yahoo.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2010 18:04:38
|
asaudate
GUJ Master
![[Avatar]](/images/avatar/974e2945a18e0bfb8e3aa8becac3e65c.jpg)
Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline
|
Sistemas web também são cliente/servidor... ou seja, mesmo assim, você não deveria sincronizar o acesso, mas sim, descobrir porque está tendo problemas na persistência e corrigir. Sincronizar o acesso seria corrigir um problema criando outro.
[]´s
|
Alexandre Saudate
__________________________
Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.
Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate
Evite usar Axis2!!! Leia aqui para mais detalhes!
@alesaudate
Quer ler um blog especializado em web services e SOA?
 |
|
|
 |
|
|