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

У меня есть приложение, которое использует Кундера для создания таблиц из объектов. Я хочу изменить коэффициент репликации Cassandra. Я использую 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);

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


person Anushila Dey    schedule 30.04.2018    source источник


Ответы (1)


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

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

-Картик

person karthik manchala    schedule 08.05.2018