Из-за улучшений, внесенных в поддержку образов docker в выпуске Spring загрузки 2.3, мы решили перейти на эту версию. В нашем проекте мы используем Cassandra в качестве одной из баз данных. Но похоже, что в Spring data cassandra многое изменилось, помимо перехода на версию драйвера cassandra 4. Проблема в том, что это исключение не позволяет запускать приложение,
java.lang.IllegalStateException: Since you provided explicit contact points, the local DC must be explicitly set (see basic.load-balancing-policy.local-datacenter in the config, or set it programmatically with SessionBuilder.withLocalDatacenter)
Теперь я поискал в сети и нашли людей, предлагающих:
Добавить это свойство в мое application.properties:
spring.data.cassandra.local-datacenter=datacenter1 (in my case since in the exception that it throws, it's mentioned that the local datacenter is - datacenter1)
и указать его, используя при создании bean-компонента CqlSession, что я и делаю:
public CqlSession session() {
String containerIpAddress = getContactPoints();
int containerPort = getPort();
InetSocketAddress containerEndPoint = new InetSocketAddress(containerIpAddress, containerPort);
return CqlSession.builder().withLocalDatacenter(getLocalDataCenter())
.addContactPoint(containerEndPoint)
.withAuthCredentials(dbProperties.getCassandraUserName(), dbProperties.getCassandraPassword())
.withKeyspace(getKeyspaceName()).build(); }
Но я все еще завис и не могу запустить приложение. Как можно решить эту проблему?