L'une des premières choses que j'ai apprises au sujet du développement de Java EE est que je ne devrais pas générer mes propres threads dans un conteneur Java EE. Mais quand j'y pense, je ne connais pas la raison.Pourquoi les threads spawning dans le conteneur Java EE sont-ils déconseillés?
Pouvez-vous expliquer clairement pourquoi il est découragé?
Je suis sûr que la plupart des applications d'entreprise ont besoin d'une sorte d'emplois asynchrones comme daemons de messagerie, les sessions inactives, les travaux de nettoyage, etc.
Ainsi, si en effet on ne doit pas engendrer des fils, ce qui est la bonne façon de le faire si nécessaire?
tâches asynchrones sont généralement effectués en utilisant la messagerie JMS et BDM. –
Ce problème devrait bientôt faire partie du passé [JSR 236] (http://jcp.org/fr/jsr/detail?id=236) implémenté dans les conteneurs. – letmaik
Il a été déconseillé car tout second thread doit être créé et géré par le conteneur, afin que le thread puisse accéder aux autres ressources de l'entreprise. Avec Java EE7, il existe un moyen standard et correct de créer des threads dans un environnement d'entreprise. En utilisant Concurrency Utils, vous vous assurez que votre nouveau thread est créé et géré par le conteneur, garantissant que tous les services EE sont disponibles. Exemple [ici] (http: // stackoverflow.com/questions/3212255/java-ee-spécification-et-multi-threading/19404307 # 19404307) –