Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Java Discussion :

Tutoriel Guava, partie 5 : cache et concurrence


Sujet :

APIs Java

  1. #1
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    octobre 2007
    Messages
    4 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 061
    Points : 12 368
    Points
    12 368
    Par défaut Tutoriel Guava, partie 5 : cache et concurrence
    Bonjour à tous,

    Je vous propose une série d'articles consacrés à la bibliothèque Guava, by Google, dont voici le 5ème épisode : cache et concurrence

    http://thierry-leriche-dessirier.dev...e-concurrence/

    Comme toujours, les remarques sont les bienvenues.

    Bonne lecture
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  2. #2
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Bonjour,

    La méthode maximumWeight appliquée au CacheBuilder ne fonctionne pas (seule)...

    Dans un test unitaire, je teste simplement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Cache<Object, Object> cachebuilder = CacheBuilder
            .newBuilder()
            .maximumWeight(1000) 
            .build();
    J'obtiens l'exception suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.IllegalStateException: maximumWeight requires weigher
    Je pense que c'est un problème de version. J'utilise en effet la dernière verison de Guava (18.0).
    Visiblement, il n'est plus possible d'utiliser la méthode maximumWeight sans weigher et c'est bien dommage.
    Tu dis aussi que l'entier qu'on indique en paramètre indique un poids en octets... je pense que ce n'est pas ce que renvoie weigher...
    Les éléments renvoyés par la méthode surchargée dans l'instance d'un Weigher correspondent à la taille d'une liste, ou la longueur d'une variable... et non son poids en mémoire.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  3. #3
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    octobre 2007
    Messages
    4 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 061
    Points : 12 368
    Points
    12 368
    Par défaut
    Effectivement, j'avais écrit cette partie avec Guava 14, et il y avait déjà dans l'eau dans le gaz à l'époque. Merci d'avoir signalé que l'affaire a été réglée.
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo