On 04/12/2024 18:09, Mark Thomas wrote:
The Manager/Store component can't easily determine if it is being configured
from the global, host or context level context.xml file.
The root cause here is configuration error - configuring multiple web
applications to use the same file for session persistence.
Thanks for the explantation!
Suggestions for StandardManager.file() :
- allowing a directory as absolute pathname:
if (file.isAbsolute()) {
if (file.isDirectory()) {
var contextName = getContext().getBaseName();
return new File(file, "SESSIONS-" + contextName + ".ser");
- a quite ugly code to detect bad usage:
static Map<String, String> pathname2contextName = new HashMap<>();
...
if (file.isAbsolute()) {
var contextName = getContext().getBaseName();
var prev = pathname2contextName.get(pathname);
if (prev != null && !prev.equals(contextName)) {
log.error("You can not share same absolute \"pathname\" for multiple <Manager>s (found same
\"pathname\" for " + contextName + " and " + prev + ")");
}
pathname2contextName.put(pathname, contextName);
cu
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org