jvmRoute обрабатывается реализацией интерфейса SessionIdGenerator Component .
Стандартная реализация org.apache.catalina.util.StandardSessionIdGenerator не предлагает способа настройки разделителя, используемого для добавления jvmRoute в JSESSIONID:
https://github.com/apache/tomcat/blob/trunk/java/org/apache/catalina/util/StandardSessionIdGenerator.java#L52-L59:
if (route != null && route.length() > 0) {
buffer.append('.').append(route);
} else {
String jvmRoute = getJvmRoute();
if (jvmRoute != null && jvmRoute.length() > 0) {
buffer.append('.').append(jvmRoute);
}
}
'' характер жестко запрограммирован, поэтому вы не можете изменить его по конфигурации
К счастью, вы можете настроить класс, используемый для генерации SessionId:
Я предлагаю расширить класс StandardSessionIdGenerator, переопределить generateSessionId, вызвав метод super и заменив символ.
class CustomSessionIdGenerator extends StandardSessionIdGenerator{
@Override
public String generateSessionId(String route) {
String sessionId = super(route);
return sessionId.replace('.',':');
}
}
Затем вы можете настроить свой класс CustomSessionIdGenerator в компоненте Manager внутри компонента Context в файлах конфигурации Tomcat, таких как context.xml.