WildFly 11 - Задержка инициализации JGroups
У нас есть веб-приложение, работающее на WildFly 11 (недавно перенесенное с WildFly 9), и мы сталкиваемся с этой странной проблемой, когда все узлы в кластере запускаются.
Вот как наше приложение предназначено для входа и отображения домашней страницы:
- Ввод URL нашего приложения приводит нас к странице входа.
- Укажите действительные учетные данные и нажмите "Войти".
- Сервлет-сервер проверяет эти кредиты, и при успешном входе браузер отправляет запрос на перенаправление (HTTP302) с URL-адресом домашней страницы.
Так вот в чем проблема -
Для самого первого пользователя, пытающегося войти в приложение (т.е. шаги 1–3 выше), перенаправляется обратно на страницу входа, т.е. даже если
пользователь ввел действительные учетные данные.В конце - наш сервлет домашней страницы не может найти сессию, только что созданную во время входа в систему, и, таким образом, пользователь перенаправляется обратно на страницу входа.
Любая попытка входа после этого работает нормально.
Мы попробовали те же самые шаги (то есть шаги 1 - 3 выше) через VPN (который является более медленной сетью), и мы не видели, чтобы эта проблема возникла там, и мы также сделали пару других тестов, чтобы сделать вывод, что дать ему больше времени во время перенаправления на самом первом входе работает нормально. поэтому мы пришли к выводу, что это может быть проблемой инициализации JGroups, поскольку это происходит только для самой первой попытки входа в систему.
<channels default="ee">
<channel name="ee" stack="tcp" cluster="repl"/>
</channels>
,
<stack name="tcp">
<transport type="TCP" socket-binding="jgroups-tcp"/>
<protocol type="TCPPING">
<property name="initial_hosts">
10.0.99.11[7600],10.0.99.12[7600]
</property>
<property name="num_initial_members">
2
</property>
</protocol>
<protocol type="MERGE3"/>
<protocol type="FD_SOCK"/>
<protocol type="FD_ALL"/>
<protocol type="VERIFY_SUSPECT"/>
<protocol type="pbcast.NAKACK2"/>
<protocol type="UNICAST3"/>
<protocol type="pbcast.STABLE"/>
<protocol type="pbcast.GMS"/>
<protocol type="MFC"/>
<protocol type="FRAG2"/>
</stack>
,
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="10.0.99.12"/>
</interface>
<interface name="private">
<inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
</interface>
</interfaces>
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="jgroups-mping" interface="public" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
<socket-binding name="jgroups-tcp" interface="public" port="7600"/>
<socket-binding name="jgroups-udp" interface="public" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
<socket-binding name="modcluster" port="0" multicast-address="${jboss.modcluster.multicast.address:224.0.1.105}" multicast-port="23364"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
<outbound-socket-binding name="10_0_99_11">
<remote-destination host="10.0.99.11" port="6666"/>
</outbound-socket-binding>
<outbound-socket-binding name="10_0_99_12">
<remote-destination host="10.0.99.12" port="6666"/>
</outbound-socket-binding>
</socket-binding-group>
Пожалуйста, предложите мне идею о том, как мы можем это исправить или просветить меня, если я здесь что-то не так делаю.