Détecter une thread dans un programme java

Fermé
Daroux - 2 févr. 2018 à 09:45
 Daroux - 2 févr. 2018 à 16:54
Bonjour à tous,

Dans l'application que je doit amélioré, une action est lancé lors de la détection d'une requête sauf que cette action ne s'effectue pas lorsque je passe par un thread. Je me demandais donc s'il est possible de détecter une thread? Voici la méthode utiliser pour être exécuter lors de la détection de requête:


@SpringBootConfiguration
@EnableConfigurationProperties
@EnableAutoConfiguration
@EnableTransactionManagement
@ComponentScan(basePackages = "net.interlog.isp")
@EntityScan(basePackages = {"net.interlog.isp"})
public class ISPEngineConfiguration {

@Bean
@RequestScope
public ISPRequestContext requestContext() {
return new ISPRequestContext();
}
}
}


Merci par avance.

1 réponse

KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 3 005
2 févr. 2018 à 10:21
Bonjour,

Je pense que ton problème vient du fait que c'est une action Spring, si tu fais mal ton thread tu vas sortir de ton contexte Spring ce qui expliquerait pourquoi ton action ne se fait pas...

De manière général en Java il faut éviter de faire des threads soit même, il faut passer par un executor qui va gérer un pool de threads, notamment pour éviter d'avoir une démultiplication du nombre de threads sur le serveur.

Spring a ses propres executor pour gérer les threads tout en préservant le contexte Spring, exemple :
https://egkatzioura.com/2017/10/25/spring-and-threads-taskexecutor/
1
Merci pour ta réponse KX,
Je vais me renseigner a ce propos :).
0