Le nombre de tâches (threads) soumises n'est également pas énorme dans ce scénario de test.Pourquoi Executors.newCachedThreadPool lance java.util.concurrent.RejectedExecutionException pendant l'envoi
Répondre
Vous devrez fournir des exemples de code de la façon dont vous instancier et appeler submit
sur la piscine (IP devrait être un non-question ici que nous ne avons pas besoin de détails sur le fonctionnement interne de vos Callable
classes ou quoi que ce soit comme cette). D'après les informations que vous avez fournies, vous fermez le service d'exécution quelque part avant de soumettre l'appel. Vérifiez si vous faites des appels au shutdown
ou au shutdownNow
, et si c'est le cas, assurez-vous de ne pas ajouter de tâches après ce point. Au-delà de cela, vous pouvez enregistrer votre propre implémentation de java.util.concurrent.RejectedExecutionHandler
afin de faciliter le débogage; son message rejectedExecution sera appelé chaque fois que l'exécuteur est incapable d'accepter une tâche, de sorte que vous pouvez y mettre une logique d'inspection d'état rudimentaire pour vous aider à trouver la cause.
Vous aviez raison; J'ai trouvé le code qui fermait le pool d'exécuteurs; Merci –
Je ne vois nulle part dans l'appel des méthodes Executors.newCachedThreadPool()
où un RejectedExecutionException
est levé. Il n'y a que trois cas où il semble être jeté en Java 6:
- lorsque vous appelez
execute()
sur unThreadPoolExecutor
et la taille de la piscine maximale a été atteinte. - lors de l'appel
execute()
sur unThreadPoolExecutor
en même temps queshutdownNow
, et a essentiellement perdu la course avec l'appelshutdownNow
. - lors de la tentative de planification de l'exécution d'une exécution dans un
ScheduledThreadPoolExecutor
après l'arrêt de l'exécuteur.
+1 pour avoir listé tous les cas possibles –
- 1. Executors.newCachedThreadPool() par rapport à Executors.newFixedThreadPool()
- 2. Pourquoi cette servlet Hibernate lance-t-elle une exception IllegalAccessError?
- 3. SetJmp/LongJmp: Pourquoi lance-t-on un segfault?
- 4. Pourquoi AsQueryable lance-t-il une exception StackOverflowException?
- 5. Pourquoi ce code groovy lance-t-il une MultipleCompilationErrorsException?
- 6. Pourquoi le paquet Python informixdb lance une erreur!
- 7. Pourquoi le jeu de propriétés lance-t-il l'exception StackOverflow?
- 8. Pourquoi HttpServlet lance-t-il une exception d'E/S?
- 9. FileUpload1.PostedFile.FileName lance l'exception
- 10. ClickOnce ne lance pas
- 11. JPQL CreateQuery lance IllegalArgumentException
- 12. MemoryMappedFile.CreateFromFile lance toujours UnauthorizedAccessException
- 13. ExecuteScalar lance NullReferenceException
- 14. WriteStartDocument() lance InvalidOperationException
- 15. Pourquoi mon application utilise-t-elle CSC pendant l'exécution?
- 16. C++ - Pourquoi est-ce que je reçois SIGTRAP pendant l'exécution?
- 17. DNN 5 - DotNetNuke.UI.Modules.ModuleHost.LoadModuleControl() lance NullReferenceException
- 18. m2crypto lance "TypeError: dans la méthode 'x509_req_set_pubkey'"
- 19. Le menu contextuel de Visual Studio 2005 lance l'explorateur de serveur: pourquoi?
- 20. Pourquoi Cassini démarre-t-il lorsque je lance un unittest dans VS2008?
- 21. Pourquoi Java PreparedStatement lance-t-il ArrayIndexOutOfBoundsException 0 avec parameterIndex = 1?
- 22. Je suis un débutant et je ne comprends pas pourquoi mon code lance "Expression attendue"
- 23. Pourquoi Haskell lance-t-il une erreur «impossible de construire un type infini»?
- 24. Dans mon application, pourquoi readInt() lance-t-il toujours une exception EOFException?
- 25. Pourquoi Visual Studio lance-t-il plusieurs WebDev lorsque je débogue?
- 26. MySQL INSERT INTO ... SELECT lance erreur 1064
- 27. ExecuteXmlReader et null Resultset Lance TargetInvocationException
- 28. C# Func délégué lance la discussion Exception
- 29. Lance une exception non définie dans l'interface
- 30. caractère générique lance erreur dans Lucene.NET
Pourriez-vous préciser votre question? Par exemple. ajoutez un court test. – Kutzi
Désolé, il n'y a pas beaucoup de code que je peux partager pour des raisons de propriété intellectuelle. Dans la coquille de noix, j'appelle soumettre avec Callable types. Je suis à la recherche de scénarios potentiels, cela peut arriver. –
Êtes-vous en train de dire qu'il n'y a pas de scénario particulier que vous étudiez, mais plutôt que vous aimeriez connaître les scénarios hypothétiques où cette exception pourrait être levée? Si oui, vous devriez reformuler la question de 'Pourquoi ...' à 'Quand ...' – akf