Подключение Cassandra-3.7 от Spring boot 2.1.2 / 2.1.6 - PullRequest
0 голосов
/ 25 июня 2019

У нас есть приложение, разработанное в весенней загрузке, и мы используем cassandra.Наше приложение подало иск на весеннюю загрузку 1.4, cassandra 3.7 и JDK 1.8. Теперь мы пытаемся обновить весеннюю загрузку до 2.1.2 / 2.1.6 и JDK 1.8 до Open JDK 11.0.2, а cassandra выглядит так: 3.7 Итак, когда мы пытаемся,мы получаем

Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed. 
(com.datastax.driver.core.exceptions.TransportException: [HOSTS] Error writing)

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

Пара указателей:

1) Приложение работает нормально на локальном уровне при затмении, и этопроблема, когда мы пытаемся запустить приложение на сервере

Вот трассировка стека, которую я вижу:

WARN 10473 --- [           main] org.eclipse.jetty.webapp.WebAppContext   : Failed startup of context o.s.b.w.e.j.JettyEmbeddedWebAppContext@75a118e6{application,/console,[org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory$LoaderHidingResource@1d540566],UNAVAILABLE}

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; 
nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'healthEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.class]: Unsatisfied dependency expressed through method 'healthEndpoint' parameter 1; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'healthIndicatorRegistry' defined in class path resource [org/springframework/boot/actuate/autoconfigure/health/HealthIndicatorAutoConfiguration.class]: Bean instantiation via factory method failed; 
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.health.HealthIndicatorRegistry]: Factory method 'healthIndicatorRegistry' threw exception; 
nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthIndicatorAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cassandraTemplate' defined in class path resource [CassandraDatabaseConfig.class]: Bean instantiation via factory method failed; 
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.cassandra.core.CassandraAdminTemplate]: Factory method 'cassandraTemplate' threw exception; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [CassandraDatabaseConfig.class]: Bean instantiation via factory method failed; 
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.cassandra.SessionFactory]: Factory method 'sessionFactory' threw exception; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'session' defined in class path resource [CassandraDatabaseConfig.class]: Invocation of init method failed; 
nested exception is com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: host1:port1 (com.datastax.driver.core.exceptions.TransportException: [host1:port1] Error writing))
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627) 

Пожалуйста, дайте мне знать, если понадобятся дополнительные сведения.

Попытался изменить версию драйвера Cassandra, явно пытаясь войти в Cassandra

Это наш класс CassandraConfig, где мы создаем объект кластера.

CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
cluster.setContactPoints(contactPoints);
cluster.setPort(Integer.valueOf(port));
cluster.setUsername(userName);
cluster.setPassword(password);
return cluster;

Сервер должен запускаться при подключении к cassandra

...