Archives de catégorie : java

Bus de données : les failles dans l’architecture

Après avoir basculé vers un bus de données rabbitMQ, nous décidons de supprimer son clustering, source potentielle de blocages en version 1.8, et qui posait, d’après un expert, des soucis à la base de données mnesia sur laquelle il s’appuie. … Continuer la lecture

Publié dans architecture, java, linux | Marqué avec , , | 2 commentaires

final : un bytecode peut en cacher un autre

Quand le résultat d’un code Java me surprend, je regarde son bytecode avec javap -c. Prenons un exemple. Dans notre équipe, nous mettons les variables à final par défaut pour éviter des problèmes de concurrence [1]. J’ai découvert[2] que final … Continuer la lecture

Publié dans java | Marqué avec , | 3 commentaires

Comment tester les interractions avec le monde extérieur (via HTTP)

Il m’arrive fréquemment d’avoir à écrire du code qui doit parler avec un serveur HTTP externe, par exemple, sur mon projet actuel, nous interagissons avec : un serveur de paiement un serveur de publicités un streamer vidéo un serveur d’options client J’aime bien écrire … Continuer la lecture

Publié dans java, tests | Marqué avec , , , , | Laisser un commentaire

Certains assertEquals sont plus égaux que d’autres

Une barre rouge inattendue. Je scrute le message d’échec du test dans le panneau junit : Je double-clique sur expected: pour obtenir le comparateur de l’IDE. Zut rien ne se passe ! Du coup je scrolle pour voir tout le … Continuer la lecture

Publié dans java, tests | Marqué avec , , , | 2 commentaires

Charger les sources avec maven

Quand j’ai besoin d’essayer une lib sans impacter du code existant, je crée rapidement un projet jetable avec mvn : mvn archetype:generate

Publié dans java | Marqué avec , , , , , | 3 commentaires

Bus de données, réalisation et tests des spikes

Nous avons choisi d’évaluer les solutions suivantes : ActiveMQ, broker JMS apache RabbitMQ, broker AMQP en erlang Qpid, autre boker AMQP apache Nos spikes doivent être fonctionnels, et pouvoir être testés en charge, avec une architecture assez proche de ce … Continuer la lecture

Publié dans agilité, java, tests | Marqué avec | 2 commentaires

Contrôler le temps pour faciliter les tests

Bien souvent, il est difficile de tester du code dans lequel l’écoulement du temps a une grande importance : dans la téléphonie (avec des durées de sonnerie, de conversation) avec des statistiques en bout de chaine pour des tests de … Continuer la lecture

Publié dans java, tests | Marqué avec , , , , | 3 commentaires

Un bus de données pour les statistiques

Nous maintenons une application WEB grand public développée en JEE avec de fortes exigences en terme de volume de statistiques. Récemment, une nouvelle demande de modification d’architecture de la plateforme par notre client, combinée à de nouveaux objectifs de fréquentation … Continuer la lecture

Publié dans architecture, java, refactoring | Marqué avec , , , , | Laisser un commentaire

Buildr : factoriser des dépendances

Buildr utilise les conventions et les repos maven. Pour un projet spring-mvc qui utilise également spring-jdbc, cela fait beaucoup de dépendances. Heureusement, Buildr::group permet de les rassembler par groupId : SPRING_3 = Buildr::group(’spring-core’, ‘spring-asm’, ‘spring-web’, ‘spring-webmvc’, ‘spring-context’, ‘spring-beans’, ‘spring-expression’, ‘spring-jdbc’, … Continuer la lecture

Publié dans buildr, java | Marqué avec , | 2 commentaires

Faire du xml facilement en java avec XStream

Récemment nous avons du sérialiser des objets dans des fichiers, et une des personnes dans l’équipe a proposé XStream. C’est une librairie développée par ThoughtWorks (la société de Martin Fowler) qui permet de faire du marshalling/unmarshalling d’objet en XML. J’avais … Continuer la lecture

Publié dans java | Marqué avec , , , , | 2 commentaires