Détecter une thread dans un programme java

Daroux -  
 Daroux -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
Daroux
 
Merci pour ta réponse KX,
Je vais me renseigner a ce propos :).
0