本文介绍了com.datastax.driver.core.exceptions.InvalidQueryException:未配置的表schema_keyspaces的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用cassandra配置spring数据。
但是当我的应用程序在tomcat中部署时,我得到了下面的错误。



当我检查连接时,它可用于给定端口。 (127.0.0.1:9042)。我已经包括堆栈跟踪和弹簧配置下面。
有人有这个错误的想法吗?



完整堆栈跟踪:

  2015-12-06 17: 46:25错误web.context.ContextLoader:331  - 上下文初始化失败
org.springframework.beans.factory.BeanCreationException:创建名为cassandraSession的bean时出错:调用init方法失败;嵌套异常是com.datastax.driver.core.exceptions.NoHostAvailableException:所有主机尝试查询失败(尝试:/127.0.0.1:9042(com.datastax.driver.core.exceptions.InvalidQueryException:unconfigured table schema_keyspaces) )美元,org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1572 b $ b)
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539 )美元,org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476 b $ b)
。在org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java: 303)
在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java: 299)
在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
在org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:759 736)

在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)$ b在org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)
$ b在org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
。在组织.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
在org.apache.catalina .core.StandardContext.startInternal(StandardContext.java:5492)
在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
在org.apache.catalina.core.ContainerBase .addChildInternal(ContainerBase.java:901)
在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
在org.apache.catalina.core.StandardHost.addChild(StandardHost .java:649)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
at org.apache.catalina.startup.HostConfig $ DeployDirectory.run(HostConfig.java :1895)
at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)
在java.lang。 Thread.run(Thread.java:745)
原因:com.datastax.driver.core.exceptions.NoHostAvailableException:所有主机尝试查询失败(尝试:/127.0.0.1:9042(com。 datastax.driver.core.exceptions.InvalidQueryException:unconfigured table schema_keyspaces))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:223)
at com.datastax.driver.core .ControlConnection.connect(ControlConnection.java:78)
at com.datastax.driver.core.Cluster $ Manager.init(Cluster.java:1230)
at com.datastax.driver.core.Cluster .init(Cluster.java:157)
at com.datastax.driver.core.Cluster.connect(Cluster.java:245)
at com.datastax.driver.core.Cluster.connect(Cluster的.java:278)
在在org.springframework.data.cassandra.config.CassandraSessionFactoryBean.afterPropertiesSet org.springframework.cassandra.config.CassandraCqlSessionFactoryBean.afterPropertiesSet(CassandraCqlSessionFactoryBean.java:82)
(CassandraSessionFactoryBean.java :43)

================== =================================================================================================================================== / p>

Spring配置:

 <?xml version =1.0 encoding =UTF-8?> 
< beans:beans ...>

< cassandra:cluster id =cassandraCluster
contact-points =127.0.0.1port =9042/>
< cassandra:converter />

< cassandra:session id =cassandraSessioncluster-ref =cassandraCluster
keyspace-name =blood/>

< cassandra:template id =cqlTemplate/>


< cassandra:repositories base-package =com.blood.dao.nosql/>
< cassandra:mapping entity-base-packages =com.blood.domain.nosql/>

< / beans:beans>


解决方案

问题是Spring Data Cassandra 2015当我写这个)不提供支持Cassandra 3.x.以下是与freenode #spring频道中的开发人员的对话摘录:


I am trying to configure spring data with cassandra.But I am getting bellow error , when my app is deploying in tomcat.

When I check the connection, it is available to the given port. (127.0.0.1:9042). I have include stack trace and spring configuration bellow.Does anyone having idea on this error?

Full stack trace :

2015-12-06 17:46:25 ERROR web.context.ContextLoader:331 - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cassandraSession': Invocation of init method failed; nested exception is com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.exceptions.InvalidQueryException: unconfigured table schema_keyspaces))
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1572)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:736)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:759)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.exceptions.InvalidQueryException: unconfigured table schema_keyspaces))
    at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:223)
    at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:78)
    at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1230)
    at com.datastax.driver.core.Cluster.init(Cluster.java:157)
    at com.datastax.driver.core.Cluster.connect(Cluster.java:245)
    at com.datastax.driver.core.Cluster.connect(Cluster.java:278)
    at org.springframework.cassandra.config.CassandraCqlSessionFactoryBean.afterPropertiesSet(CassandraCqlSessionFactoryBean.java:82)
    at org.springframework.data.cassandra.config.CassandraSessionFactoryBean.afterPropertiesSet(CassandraSessionFactoryBean.java:43)

===================================================================

Spring Configuration :

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans ...>

    <cassandra:cluster id="cassandraCluster"
                       contact-points="127.0.0.1" port="9042" />
    <cassandra:converter />

    <cassandra:session id="cassandraSession" cluster-ref="cassandraCluster"
                       keyspace-name="blood" />

    <cassandra:template id="cqlTemplate" />


    <cassandra:repositories base-package="com.blood.dao.nosql" />
    <cassandra:mapping entity-base-packages="com.blood.domain.nosql" />

</beans:beans>
解决方案

The problem is that Spring Data Cassandra (as of December 2015 when I write this) does not provide support for Cassandra 3.x. Here's an excerpt from a conversation with one of the developers in the #spring channel on freenode:

这篇关于com.datastax.driver.core.exceptions.InvalidQueryException:未配置的表schema_keyspaces的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 19:26