Есть ли интерфейс Java к базе данных Cassandra, который работает из коробки? - PullRequest
0 голосов
/ 29 марта 2012

Я установил Hector API для базы данных Cassandra в Eclipse.Я получил ошибки о SLF4J [какая-то утилита регистрации].Я потратил последние [почти] 2 часа на отладку ошибок с ним.После импорта пакетов я получаю

Исключение в потоке "main" java.lang.ExceptionInInitializerError в org.slf4j.LoggerFactory.bind (LoggerFactory.java:128) в org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108) в org.slf4j.LoggerFactory.getILoggerFactory (LoggerFactory.java:279) в org.slf4j.LoggerFactory.getLogger (LoggerFactory.java:252) в org.slf4j.LogFactory (LoggerFactory (LoggerFactory).265) в me.prettyprint.cassandra.service.AbstractCluster. (AbstractCluster.java:44) в me.prettyprint.cassandra.service.ThriftCluster. (ThriftCluster.java:21) в me.prettyprint.hector.api.factory.Hactory.createCluster (HFactory.java:196) в me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster (HFactory.java:143) в me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster (HFactory) в CassandraInterface.main (CassandraInterface.java:7) Вызывается: java.lang.UnsupportedOperationException: этот код никогда не должен был попадать в банку в org.slf4j.impl.StaticLoggerBinder. (StaticLoggerBinder.java:63) в org.slf4j.impl.StaticLoggerBinder. (StaticLoggerBinder.java:44) ... еще 11

Существует ли какой-либо API базы данных Cassandraчто я могу просто зайти в свой проект Eclipse и начать использовать его из коробки, без необходимости устанавливать, настраивать и отлаживать дополнительное стороннее программное обеспечение?

Также: у меня не установлен Maven.Лучше всего будет один JAR-файл или папка JAR-файлов / исходных файлов java.

РЕДАКТИРОВАТЬ: у меня установлен Hector API, и моя программа компилируется без ошибок, но теперь я получаю ошибку времени выполнения

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.thrift.meta_data.FieldValueMetaData.<init>(BZ)V
    at org.apache.cassandra.thrift.ColumnParent.<clinit>(ColumnParent.java:128)
    at me.prettyprint.cassandra.service.template.AbstractColumnFamilyTemplate.<init>(AbstractColumnFamilyTemplate.java:63)
    at me.prettyprint.cassandra.service.template.ColumnFamilyTemplate.<init>(ColumnFamilyTemplate.java:39)
    at me.prettyprint.cassandra.service.template.ThriftColumnFamilyTemplate.<init>(ThriftColumnFamilyTemplate.java:38)
    at CassandraInterface.main(CassandraInterface.java:66)

Мне требуется любая комбинация файлов .java, .class или .jar, которую я могу просто добавить в свой проект, не требуя настройки файлов / каталогов Maven или XML любого типа.Просто что-то простое, что делает то, что рекламирует.

Ответы [ 3 ]

3 голосов
/ 30 марта 2012

Когда вы используете Eclipse, почему бы не использовать встроенную функциональность maven?Это позволит вам:

"... просто зайти в мой проект Eclipse и начать использовать его" из коробки "без необходимости устанавливать, настраивать и отлаживать дополнительное стороннее программное обеспечение".

Поместите в ваш файл pom.xml следующее:

      <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.4</version>
      </dependency>
      <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.4</version>
      </dependency>
      <dependency>
                <groupId>me.prettyprint</groupId>
                <artifactId>hector-core</artifactId>
                <version>1.0-4</version>
      </dependency>

Ваш код должен работать.

Настоятельно призываю вас заглянуть в Почему Maven?Каковы преимущества?

Наконец, если вы не хотите идти по простой и довольно стандартной дороге, вы можете следовать предложению Ника: https://github.com/rantav/hector/downloads и скачать tar.gz, который содержит все банки и добавитьих к вашему classpath.

0 голосов
/ 02 апреля 2012

Я понял это.

КАК ИСПОЛЬЗОВАТЬ ГЕКТОРА БЕЗ МАВЕНА:

Скачать Гектор из Github на https://github.com/rantav/hector/downloads

Теперь вам нужен TBase и куча других файлов. Получите файл фляги в http://www.java2s.com/Code/Jar/l/Downloadlibthrift060jar.htm

Распакуйте все загружаемые файлы и поместите все JAR-файлы в путь сборки.

Начать кодирование.

0 голосов
/ 30 марта 2012

Netflix создал клиент для Cassandra, и он, кажется, лучше, чем Hector, и его также поддерживает большая компания. Просто удалите зависимость Maven в свой pom.xml, и тогда вы можете попробовать некоторые примеры из их вики-страниц.

https://github.com/Netflix/astyanax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...