2009-03-05 1 views
0

Sur un serveur, il peut se produire différentes erreurs temporaires (transitoires). Par exemple, OutOfMemoryError ou une connexion rompue à une base de données.Existe-t-il une API/structure de gestion des erreurs dans Java?

Je pense que c'est une bonne idée de répéter ce travail peu de temps après. Bien sûr, il ne devrait pas être une boucle sans fin, car l'erreur n'est pas temporaire.

Y a-t-il une bonne API pour l'aider? Ou un guide comment je peux l'implémenter. Il a le paramètre sould comme:

  • répétition nombre
  • max temps d'exécution
  • mémoire libre
  • etc
+1

Juste pour choisir un nit, OutOfMemoryErrors ne sont probablement pas transitoires; Si vous avez des données qui nécessitent plus de mémoire que celles que votre machine virtuelle Java est configurée, la nouvelle tentative ne vous aidera pas. – TMN

+0

Sur un serveur, une erreur OutOfMemoryError se produit dans la plupart des cas car il y a des demandes temporaires à plusieurs clients. Quelques secondes plus tard, cela peut ressembler à d'autres. – Horcrux7

+0

Si vous obtenez OutOfMemoryError à cause de la charge, vous devez étrangler la charge d'une façon ou d'une autre (mettre en file d'attente les demandes ou simplement les refuser). OutOfMemoryErrors peut se produire * n'importe où * en raison de l'utilisation de la mémoire ailleurs. Vous ne pouvez pas simplement entourer une partie du code avec try/catch. –

Répondre

3

nécessaire Cette idée générale est souvent appelé le modèle de disjoncteur. Google a un interesting list des idées de mise en œuvre.

Questions connexes