Hazelcast 5.6.0 и конфигурация клиентаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Hazelcast 5.6.0 и конфигурация клиента

Сообщение Anonymous »

Наше приложение использует зависимости com.hazelcast:hazelcast и com.hazelcast:hazelcast-spring для подключения к кластеру Hazelcast. В процессе обновления их версий с 5.5.0 до 5.6.0 мы заметили, что наше приложение больше не запускается успешно.
Теперь отображается следующая ошибка:

Код: Выделить всё

java.lang.UnsupportedOperationException: Client config object only supports adding new data structure configurations
at com.hazelcast.client.impl.clientside.ClientDynamicClusterConfig.getMapConfigs(ClientDynamicClusterConfig.java:496)
at com.hazelcast.spring.BeanExporter.postProcessBeanDefinitionRegistry(BeanExporter.java:75)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:148)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:791)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:609)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:318)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350)
at com.z.y.x.SpringBootSandboxApplicationKt.main(SpringBootSandboxApplication.kt:13)
Просматривая примечания к выпуску Hazelcast, мы можем предположить, что следующее улучшение — единственное, что связано с проблемой, с которой мы столкнулись:

Объекты Hazelcast представлены как bean-компоненты Spring: это обновление позволяет
представлять карты Hazelcast (IMap) и другие распределенные объекты как bean-компоненты Spring
, улучшая согласованность с конфигурацией на основе XML и
упрощая конфигурацию Java. Теперь пользователи могут легко автоматически связывать эти
объекты без необходимости создания пользовательских определений bean-компонентов для каждого
распределенного объекта, что повышает интеграцию и удобство использования.

Когда мы избавимся от com.hazelcast:hazelcast-spring и будем использовать только com.hazelcast:hazelcast, проблема исчезнет. Но это нежелательно, поскольку наше приложение использует некоторые компоненты из зависимости hazelcast-spring.
Вот упрощенный фрагмент кода, который мы используем для настройки нашего клиента для работы с кластером Hazelcast:

Код: Выделить всё

import com.hazelcast.client.HazelcastClient
import com.hazelcast.client.config.ClientConfig
import com.hazelcast.core.HazelcastInstance
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration

@Configuration
class CacheConfig {

val clusterName: String = "dev"
val addresses: List = listOf("127.0.0.1")

@Bean
fun hazelcastInstance(): HazelcastInstance {
val clientConfig = ClientConfig()
clientConfig.setClusterName(clusterName)
clientConfig.networkConfig.setAddresses(addresses)
return HazelcastClient.newHazelcastClient(clientConfig)
}
}

Приведенный выше код успешно проходит проверку подлинности и подключается к кластеру, но впоследствии выдает ошибку.
Каковы наши варианты? Мы не можем найти похожие проблемы, возможно, мы что-то делаем неправильно. Поделитесь своими мыслями и предложениями.

Подробнее здесь: https://stackoverflow.com/questions/798 ... figuration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»