Définir le temps d'une séance ou d'une transaction en mode veille prolongée
Ci-dessous est mon scénario:
Mon application commence une transaction, les insertions, mises à jour, puis appelle un service web. Il est possible que le service web prend du temps pour traiter la demande. Est-il possible de configurer une fois pour ma session/transaction dans mon hibernate couche pour que je puisse gracieusement fermer la session.
P. S. - Sinon je peux faire pour configurer un moment de mon appel de service web.Supposons que je n'ai pas cette liberté. Est-ce que je peux faire en mode veille prolongée ou dois-je écrire mon propre logique (à l'aide de threads rejoindre constructions) pour mettre en œuvre ces
OriginalL'auteur Cshah | 2012-05-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez set timeout au niveau de la requête particulière ou si vous utilisez JPA l'EntityManager vous pouvez ajouter indicateur de requête.
La théorie est que Hibernate utilise par défaut le verrouillage optimiste (si la base de données niveau d'isolation de transaction est conforme à celle), de sorte que les enregistrements ne sont jamais enfermés contre écrit ou lit. En conséquence, même de longue durée de la transaction ne doit pas nuire à la performance mal.
Si vous utilisez pesimistic de verrouillage, vous pouvez définir le délai d'attente pour eux dans la Session Hibernate. Regardez Session.LockRequest.
OriginalL'auteur Piotr Kochański