CassandraVM-2.0.7.ova をインストールしました。このバージョンの Cassandra で適切に動作する Kundera のバージョンはどれですか? この情報を取得しようとすると、あまりにも多くの問題に直面しています。私の設定ミスかもしれません。この情報はどこかに文書化されていますか?
私はこのMavenの依存関係を試しました:
<dependency>
<groupId>com.impetus.kundera.client</groupId>
<artifactId>kundera-cassandra</artifactId>
<version>3.2</version>
</dependency>
persistence.xml のプロパティは次のとおりです。
<persistence-unit name="cassandra_pu">
<provider>com.impetus.kundera.KunderaPersistence</provider>
<properties>
<property name="kundera.nodes" value="a.b.com" />
<property name="kundera.port" value="9042"/>
<property name="kundera.keyspace" value="KunderaExamples" />
<property name="kundera.dialect" value="cassandra" />
<property name="kundera.client.lookup.class" value="com.impetus.client.cassandra.thrift.ThriftClientFactory" />
<property name="kundera.ddl.auto.prepare" value="create" />
</properties>
</persistence-unit>
以下のステートメントを実行しようとしている間、
EntityManagerFactory emf = Persistence.createEntityManagerFactory("cassandra_pu");
この例外が発生しました:
スレッド「メイン」での例外 com.impetus.kundera.configure.schema.SchemaGenerationException: org.apache.thrift.transport.TTransportException: 負のフレーム サイズ (-2113929216) を読み取ります!
com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.create(CassandraSchemaManager.java:264)
で com.impetus.kundera.configure.schema.api.AbstractSchemaManager.handleOperations(AbstractSchemaManager.java:264)
で com.impetus.kundera .configure.schema.api.AbstractSchemaManager.exportSchema(AbstractSchemaManager.java:115)
com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.exportSchema(CassandraSchemaManager.java:166)
com.impetus.kundera.configure.SchemaConfiguration.configure で(SchemaConfiguration.java:188)
com.impetus.kundera.configure.ClientMetadataBuilder.buildClientFactoryMetadata(ClientMetadataBuilder.java:48)
で com.impetus.kundera.persistence.EntityManagerFactoryImpl.configureClientFactories(EntityManagerFactoryImpl.java:408)
で com.impetus.kundera.persistence.EntityManagerFactoryImpl.configure (EntityManagerFactoryImpl.java:161)
com.impetus.kundera.persistence.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:135)
com.impetus.kundera.KunderaPersistence.createEntityManagerFactory(KunderaPersistence.java:85)
で javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:79)
javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:54) で
Main.main(Main.java:16) で
その後、Kundera (2.4) のかなり古いリリースを試してみましたが、同じ問題に直面しました。私は基本的な何かが欠けていると思います。
persistence.xml の自動スキーマ生成オプションを削除しましたが、まだ同じ問題に直面しています (新しい Cassandra 接続を作成できません。org.apache.thrift.transport.TTransportException: 負のフレーム サイズ (-2113929216) を読み取ります!)。
サーバーでは、これは例外です。
java.lang.ArrayIndexOutOfBoundsException:
org.apache.cassandra.transport.Message$Type.fromOpcode(Message.java:106)
で 47 org.apache.cassandra.transport.Frame$Decoder.decode(Frame.java:168)
でorg.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)