Ранее, с Payara 4, мы использовали кластер / сетку данных Hazelcast. Мы настроили обнаружение кластера и ttl для Записи карты сетки Shiro authenticationCache в файле с именем hazelcast-config.xml:
<?xml version="1.0" encoding="UTF-8"?><hazelcast xmlns="https://www.hazelcast.com/schema/config" xmlns:xsi="https://www.w3.org/2
001/XMLSchema-instance" xsi:schemaLocation="https://www.hazelcast.com/schema/config hazelcast-config-3.5.xsd">
<properties/>
<group>
<name>prod</name>
<password>pass</password>
</group>
<management-center enabled="false">https://localhost:8180/mancenter</management-center>
<network>
<join>
<multicast enabled="false">
<multicast-group>my-group</multicast-group>
<multicast-port>my-port</multicast-port>
</multicast>
<tcp-ip enabled="false">
<interface>127.0.0.1</interface>
<member-list>
<member>127.0.0.1</member>
</member-list>
</tcp-ip>
</join>
<interfaces enabled="true">
<interface><my-ip-address></interface>
</interfaces>
</network>
<map name="*.authorizationCache">
<async-backup-count>1</async-backup-count>
<backup-count>0</backup-count>
<time-to-live-seconds>7210</time-to-live-seconds>
</map>
<map name="*.authenticationCache">
<async-backup-count>1</async-backup-count>
<backup-count>0</backup-count>
<time-to-live-seconds>7200</time-to-live-seconds>
</map>
<map name="/mymap">
<async-backup-count>1</async-backup-count>
<backup-count>0</backup-count>
<time-to-live-seconds>7210</time-to-live-seconds>
</map>
<map name="default">
<async-backup-count>1</async-backup-count>
<backup-count>0</backup-count>
</map>
</hazelcast>
Теперь с Payara 5, кажется, добавлен hazelcast. Обнаружение членов кластера (обнаружение домена) «просто работает» без использования hazelcast-config.xml. Проблема в том, что ttl не работает без файла xml. И если я предоставлю hazelcast-config.xml, он даст мне мою конфигурацию ttl, но я потеряю обнаружение домена.
Есть ли способ получить как обнаружение домена, так и конфигурацию ttl сетки данных с Payara 5.193? Похоже, я смогу установить ttl в shiro.ini, но я не вижу документации, подтверждающей это.
Спасибо
В вашей конфигурации Hazelcast у вас нет настройки обнаружения. Вы отключаете обнаружение на основе многоадресной рассылки с помощью
<multicast enabled="false">
. Вы также отключаете статическую IP-конфигурацию с помощью<tcp-ip enabled="false">
. Тогда обнаружение не настроено, и Hazelcast не будет формировать кластер.Вам необходимо установить либо статическую IP-конфигурацию, либо использовать любой из механизмов обнаружения. Подробнее читайте здесь: https://docs.hazelcast.org/docs/latest/manual/html-single/#discovery-mechanisms.
В производстве у нас включен метод обнаружения. Однако я хотел бы использовать обнаружение домена или AWS, и это, похоже, недоступно с помощью hazelcast-config.xml с hazelcast 3.5.3. Думаю, что обновление до 3.12 поможет. Спасибо. — person nettie; 21.11.2019
Да, обновитесь, версия 3.5.3 очень старая. — person nettie; 22.11.2019
Думаю, это скорее вопрос о сиро, чем о каре. Остается вопрос: как установить TTL для shiro realm.authenticationCache, если не в hazelcast-config.xml? — person nettie; 26.11.2019