Exécution de tâches planifiées en Java avec Spring et ExecutorService
Tâches planifiées à horaire fixe
En utilisant le framework Spring, l'annotation @Scheduled permet de définir des tâches à exécuter à des moments précis. Par exemple, pour planifier une exécution quotidienne à 8h30 et 18h30, le code suivant peut être employé :
@Scheduled(cron = "0 30 8,18 * * ?")
Dans une expression cron, les positio ...
Publié le 15 juillet à 21h32
Maîtrise Technique pour les Entretiens de Développement de Test
Optimisation des Approches dans les Projets Techniques
Lors du développement d'applications complexes, l'utilisation de architectures comme Spring Cloud permet de gérer des services décentralisés, tels que la découverte de services, l'équilibrage de charge et la configuration centralisée. MongoDB est souvent préféré pour sa flexibilité dans le ...
Publié le 13 juillet à 18h20
Instanciation d'Objets dans Spring via Configuration XML
Principe de l'Injection par Fichier XML dans Spring
Spring Framework permet de gérer l'instanciation des objets à travers un fichier de configuration XML. Cette méthode centralise la définition des beans, offrant une séparation claire entre le code applicatif et la configuration des composants. Les objets ainsi définis sont créés lors du charge ...
Publié le 11 juillet à 07h04
Principes fondamentaux de l'IoC et du DI avec Spring Framework
L'Inversion de Contrôle (IoC) est un prinicpe de conception où la gestion du cycle de vie des objets est déléguée à un conteneur, tel que Spring, plutôt que d'être gérée directement dans le code. Cela favorise le découplage et améliore la testabilité des applications.
L'Injection de Dépendances (DI) est une technique concrète d'implémentation d ...
Publié le 7 juillet à 20h57
BeanFactory et les processeurs post-initialisation dans Spring
BeanFactory et les processeurs post-initialisation dans Spring
Définition et construction des beans
La définition d'un bean, incluant sa classe, sa portée, sa méthode d'initialisation et sa méthode de destruction, est modélisée dans Sppring par la classe AbstractBeanDefinition. Les attributs clés comprennent :
beanClass : Objet représentant la ...
Publié le 2 juillet à 03h27
Intégration du framework SSH : Configuration et exemple avec la gestion de livres
Le framework SSH est une intégration des technologies Struts, Spring et Hibernate pour le développement d'applications web Java. Il ne doit pas être confondu avec le protocole Secure Shell. Cette architecture répartit les responsabilités en quatre couches : présentation, logique métier, persistacne des données et objets du domaine. Struts fourn ...
Publié le 1 juillet à 19h29
Stratégies d'optimisation des transactions longues avec Spring
Comprendre les transactions longues
Une transaction longue (ou "Big Transaction") désigne une opération dont le temps d'exécution dépasse les seuils recommandés pour maintenir la santé d'une base de données. En Spring, les transactions sont gérées via deux approches : déclarative (@Transactional) ou programmatique (TransactionTemplate ...
Publié le 29 juin à 00h20
Comprendre l'implémentation de ImportSelector dans Spring Framework
Dans une classe annotée avec @Configuration, l'annotation @Import permet d'importer d'autres configurations. Elle peut également inclure des implémentations de l'interface org.springframework.context.annotation.ImportSelector.
L'interfcae ImportSelector définit la méthode selectImports(), qui retourne un tableau de noms de classes à enregistrer ...
Publié le 25 juin à 20h31
Scénarios d'échec de la transaction Spring
Dans une même classe, un appel d'une méthode transactionnelle à une méthode non transactionnelle peut fonctionner correctement. En revanche, le cas contraire où la transaction échoue est illustré par le point 4 ci-dessous (appel interne dans une même classe).
@Autowired
private XXXMapper xxxMapper;
@Autowired
private YYYMapper yyyMapper;
@Tra ...
Publié le 25 juin à 16h07
Simplification des appels HTTP avec RestTemplate dans Spring
Lors de ma lecture de documents sur Spring Cloud, je suis tombé sur le composant Feign et j'ai découvert qu'il utilisait RestTemplate en interne. Cette découverte a éveillé ma curiosité et j'ai décidé d'explorer son fonctionnement interne. Quelle agréable surprise ! Je ne connaissais pas cette classe et son approche si élégante.
Autrefois, pour ...
Publié le 25 juin à 03h56