Кундера - Фактор репликации Кассандры с использованием EntityManagerFactory

У меня есть приложение, которое использует Kundera для создания таблиц из объектов. Я хочу изменить фактор репликации Кассандры. Я использую EntityManagerFactory отдельно для взаимодействия с базой данных для инициализации, сохранения записей и т. Д.

Я знаю, что мы можем создать отдельный файл kundera-cassandra.xml и упомянуть фактор репликации. Однако, это выдает ошибку и говорит, что пространство ключей не существует. Кроме того, я не хочу этого делать.

Я хочу изменить коэффициент репликации, используя EntityManagerFactory, и почему-то это не работает.

Вот моя функция инициализации:

props.put(KUNDERA_NODES_KEY, host);
props.put(KUNDERA_PORT_KEY, String.valueOf(port));
props.put(KUNDERA_KEYSPACE_KEY, databaseName);    
props.put(CassandraConstants.CQL_VERSION,CassandraConstants.CQL_VERSION_3_);
props.put("replication_factor", 2);
entityManagerFactory = Persistence.createEntityManagerFactory(
                                            DataServiceConfiguration.KUNDERA_PERSISTENCE_UNIT, props);

LOG.info("DataServiceImpl initialized with Properties: " + props);

Примечание: я попытался установить значение коэффициента репликации как String, а также попытался использовать CassandraConstants. Пожалуйста, дайте мне знать, что я делаю неправильно?

1 ответ

Это невозможно с текущим кодом. Я добавил исправление для этого в github (трек № 1005).

Это исправление будет доступно в следующем выпуске Kundera, или вы можете собрать код из исходного кода, чтобы использовать его как можно скорее.

-Karthik

Другие вопросы по тегам