2014-06-13 5 views
1

J'ai une famille de colonnes dans laquelle j'utilise une clé composite. Une de mes clés composites est UUID et l'autre clé est une chaîne dans laquelle je passe la valeur NULL. Auparavant, j'utilisais hector-0.8.0 et mon code fonctionnait bien. Mais maintenant je veux mettre à jour mon api hector à la dernière version et n'accepte pas la valeur NULL.Cassandra-1.1.6 et Hector-1.1.4 Api

try { 
     Composite key = new Composite(); 
     key.addComponent("key1", strSerializer); 
     key.addComponent(null, strSerializer); 
     compMutator.addInsertion(key, "columnfamily", HFactory.createColumn("column1", "col2 value",HFactory.createClock(), strSerializer,strSerializer)); 
     compMutator.execute(); 
    } catch (HectorException e) { 
     e.printStackTrace(); 
    } 

Au-dessus est le code qui fonctionne très bien avec hector-0.8.2, mais donnant erreur lorsque j'utilise hector-

1.1.4

Exception dans le thread "principal" java.lang.NullPointerException: Impossible en mesure d'ajouter le composant nul à me.prettyprint.hector.api.beans.AbstractComposite.addComponent (AbstractComposite.java:459) à me.prettyprint.hector.api.beans.AbstractComposite.addComponent (AbstractComposite.java:447) at me.prettyprint.hector.api.beans.AbstractComposite.addComponent (AbstractComposite.java:438) sur me.prettyprint.hector.api.beans.AbstractComposit e.addComponent (AbstractComposite.java:429) at com.impetus.cassandra.hectorClient.Test.main (Test.java:29)

Quelqu'un peut-il m'aider avec cela.

Toute aide sera appréciée.

Merci d'avance.

Salman

Répondre

0

clé composite ne soit nulle, mais si vous voulez composite nulle clé essayez ceci,

try { 
    Composite key = new Composite(); 
    key.addComponent("key1", strSerializer); 
    key.addComponent("null", strSerializer); 
    compMutator.addInsertion(key, "columnfamily", HFactory.createColumn("column1", "col2 value",HFactory.createClock(), strSerializer,strSerializer)); 
    compMutator.execute(); 
} catch (HectorException e) { 
    e.printStackTrace(); 
} 

mais il est une mauvaise pratique

+0

Amit u peut me dire ce qui change u fait dans mon code. parce que je ne pouvais pas trouver de changement. –

+0

ce code fonctionnait bien avec l'ancienne version. J'ai essayé d'autres façons heureusement obtenu le succès après avoir fait quelques changements, au lieu de null, j'ai donné une chaîne vide ("") et cela a fonctionné avec la dernière version. –

+0

@ user3568568 Désolé, je oublie convertir Null en "nul", je modifier la réponse s'il vous plaît vérifier –