sincronizar acessos ao DAO
08/07/2018
0
Senhores boa tarde. Gostaria de uma ajuda. Fiz uma aplicação de agendamento. O cliente escolhe o dia, a hora. A coisa funciona. Mas está dando erros estranhos. Agenda num fim de semana, mesmo sendo um dia bloqueado. agenda mais pessoa que o número de vagas. Coisas assim.
Todo acesso ao banco de dados eu centralizei num classe chama sqlUtil e todos os seus métodos public synchronized static. Mesmo assim estão acontecendo esses erros.
Uso vaadin.
Alguém poderia me dizer qual a forma certa para sincronizar as chamadas à classe dao?
Por exemplo, a view de agendamento precisa salvar os dados usando o método sqlUtil.salvarAgendamento(...). Qual seria a melhor forma?
synchronized (this){
sqlUtil.salvarAgendamento(...)
}
Obrigado pela ajuda.
Abraços
Todo acesso ao banco de dados eu centralizei num classe chama sqlUtil e todos os seus métodos public synchronized static. Mesmo assim estão acontecendo esses erros.
Uso vaadin.
Alguém poderia me dizer qual a forma certa para sincronizar as chamadas à classe dao?
Por exemplo, a view de agendamento precisa salvar os dados usando o método sqlUtil.salvarAgendamento(...). Qual seria a melhor forma?
synchronized (this){
sqlUtil.salvarAgendamento(...)
}
Obrigado pela ajuda.
Abraços
Carlos Silva
Curtir tópico
+ 0
Responder
Post mais votado
09/07/2018
Olá Carlos,
se os sistema aceitando o agendamento em dias bloqueados ou está agendando mais pessoas que o limite permitido o problema deve ser de regras de negócios e não de sincronizar ou não o método da camada de persistência. Cada usuário que acessa a aplicação tem uma sessão ou contexto único, sendo assim, não tem motivos para sincronizar os métodos de persistência. Isso porque, cada usuário vai ter um novo objeto DAO criado no seu acesso e os métodos fazem parte desse objeto, sendo assim, os demais usuário não precisam entrar em uma fila de threads para acessar o DAO já que eles não dividem o mesmo objeto.
se os sistema aceitando o agendamento em dias bloqueados ou está agendando mais pessoas que o limite permitido o problema deve ser de regras de negócios e não de sincronizar ou não o método da camada de persistência. Cada usuário que acessa a aplicação tem uma sessão ou contexto único, sendo assim, não tem motivos para sincronizar os métodos de persistência. Isso porque, cada usuário vai ter um novo objeto DAO criado no seu acesso e os métodos fazem parte desse objeto, sendo assim, os demais usuário não precisam entrar em uma fila de threads para acessar o DAO já que eles não dividem o mesmo objeto.
Marcio Souza
Responder
Mais Posts
13/07/2018
Carlos Silva
Bom dia, Ballem.
Concordo com você. E para o caso do valor negativo, já modifiquei os campos para unsigned. Esta parte está resolvida. Agora estou quebrando a cabeça para solucionar a outra questão.
Obrigado pela força.
Concordo com você. E para o caso do valor negativo, já modifiquei os campos para unsigned. Esta parte está resolvida. Agora estou quebrando a cabeça para solucionar a outra questão.
Obrigado pela força.
Responder
Clique aqui para fazer login e interagir na Comunidade :)