Гектор соединиться с Кассандрой - PullRequest
4 голосов
/ 24 февраля 2011

я пытаюсь соединить Кассандру с Гектором:

public class Main {
    public static void main(String[] args) {
        StringSerializer stringSerializer = StringSerializer.get();
        Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160");
        Keyspace keyspace =  HFactory.createKeyspace("Keyspace1", cluster);
        Mutator<String> mutator = HFactory.createMutator(keyspace, stringSerializer);
        mutator.insert("jsmith", "Standard1", HFactory.createStringColumn("first", "John"));
    }

}

Проблема:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230)
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:275)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:261)
    at me.prettyprint.cassandra.service.AbstractCluster.<init>(AbstractCluster.java:43)
    at me.prettyprint.cassandra.service.AbstractCluster.<init>(AbstractCluster.java:57)
    at me.prettyprint.cassandra.service.ThriftCluster.<init>(ThriftCluster.java:17)
    at me.prettyprint.hector.api.factory.HFactory.createCluster(HFactory.java:112)
    at me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster(HFactory.java:104)
    at me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster(HFactory.java:96)
    at javaapplication1.Main.main(Main.java:25)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    at java.net.URLClassLoader$1.run(URLClassLoader.java:276)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:265)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:264)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:270)
    ... 13 more
Java Result: 1

Как я могу решить?

Я дошел до последнего терпения с Гектором и Кассандрой, я попытался соединиться и потерпел неудачу. я запускаю пример twissjava, и он работает, но когда я расширяю основной класс для создания собственного теста, он не запускается.

Ответы [ 3 ]

3 голосов
/ 24 февраля 2011

Эта проблема "описана в вики на странице " SLF4J in Hector "

Короткая версия: вам нужно добавить библиотеку, которая реализует API SLF4J.

2 голосов
/ 17 февраля 2012

Какую среду разработки вы используете?

У меня была такая же проблема в netbeans.Вот файлы, которые вам нужны (но будьте осторожны с версиями, которые вы используете).

log4j download: http://www.findjar.com/jar/log4j/log4j/1.2.11/log4j-1.2.11.jar.html slf4j download: http://www.findjar.com/jar/de/huxhorn/lilith/de.huxhorn.lilith.slf4j/0.9.35/de.huxhorn.lilith.slf4j-0.9.35.jar.html

ps поиск по сайту findjarдля правильных версий, если эти не работают, но я использую эти два с cassandra 1.0.7 и hector 1.0.2, и они работали для меня.

1 голос
/ 30 мая 2011

Вы должны добавить зависимости Гектора, такие как SLF4j, Log4j, к вашему пути к классам, тогда ваша проблема будет решена .. У меня точно такая же проблема, как и ваша проблема, решенная .. извините за мой английский ..: D

...