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.
A voir également:

1 réponse

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
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