Introduction à Spring Integration

Cet article a pour objectif d’introduire Spring Integration. Dans un premier temps, j’y décrirai les différents concepts inhérents à Spring Integration, puis nous verrons un exemple basique d’intégration dans une application.

Spring integration est, comme son nom l’indique, un projet du framework Spring. Il respecte donc tous les principes de Spring dont voici les plus importants : la séparation des préoccupations (separation of concerns), l’injection de dépendances (dependency injection) ou le couplage lâche (loose coupling). En revanche, Spring Integration permet de pousser ces principes encore plus loin en permettant de faire communiquer facilement des beans Spring de manière asynchrone et indépendante via un système de messaging, sans qu’ils aient besoin de se connaître mutuellement.

De plus, Spring Integration fournit également des outils pour communiquer avec des systèmes externes (JMS, RabbitMQ, etc).

Spring Integration est une implémentation des Enterprise Integrations Patterns. Il est construit autour du modèle pipes-and-filters. Les pipes sont n’importe quel composant capable de transporter les messages alors que les filters sont ceux capables de produire ou consommer des messages.

Les mixins de Jackson 2: de vraies améliorations à découvrir

jsonjackson2-logo-onlyxmlindex

 

Les dernières améliorations dans jackson 2,  en particulier les mixins, permettent de mieux gérer les annotations sur les classes (entités) utilisées.

Au lieu d'alourdir ces entités avec les annotations de mapping xml/json ou encore de figer les noms des propriétés retournées par le mapping, nous pouvons, désormais, définir des interfaces séparées contenant ces annotations.

Architecture microservice, spring-boot: De la théorie à la pratique (Part 3)

spring&microservices

Cet article est la troisième partie qui complète le second article sur le thème d’architecture micro-services (AMS ou MSA).

Dans cette troisième partie, comme promis, nous écrierons un (voire deux) micro-service(s) qui s'auto-enregistre(nt) dans l'annuaire Eureka ("Service Eureka Discovery"), le focus est mis sur les interactions des micro-services. Vous verrez que les appels entre les différents services se font via leurs noms d'enregistrement dans eureka sans avoir à connaître ni le nom dns ni le host ni le n° de port.

Spring 4 : ‘Bean Aliasing’ ou comment personnaliser des beans de composants externes

logo-spring-highres

Dans certaines situations, nous souhaitons pouvoir redéfinir (décorer) un bean spring défini dans un composant externe non modifiable (ou non souhaitable de le modifier).

C'est le cas d'un projet complexe multi-modules, où nous voulons, pour les tests d'intégration, redéfinir des beans dataSource sans dupliquer ni le code ni xml.

Cela est possible avec spring via l'annotation @Bean  (ou le tag <alias) en précisant plusieurs valeurs à l'attribut "name". Nous donnons plus de détails ci-après.

Gérer simplement les Blob avec Spring 4 et Hibernate 4

Spring_frameworkhibernate_logo_a

 

 

 

Dans la première partie de cet article nous avons évoqué les CLOB/BLOB avec spring-jdbc. Nous poursuivons l'exploration du même thème mais cette fois avec Spring 4 et Hibernate 4. L'approche est un peu semblable mais pas trop et les difficultés sont pratiquement identiques.

Merci de (re)lire [juste] l'introduction de l'article précédent pour mieux suivre cette seconde partie.