From c156892f3282f1675bd29565029522239664adf2 Mon Sep 17 00:00:00 2001 From: Paul Ferraro Date: Fri, 19 Feb 2021 10:36:37 -0500 Subject: [PATCH 1/3] Replace ClassResolver with Externalizer --- .../marshalling/jdk/ClassLoaderResolver.java | 55 ------------------- .../marshalling/jdk/ClassResolver.java | 40 -------------- .../jdk/JavaByteBufferMarshaller.java | 11 ++-- .../marshalling/jdk/ObjectInputStream.java | 17 +++--- .../marshalling/jdk/ObjectOutputStream.java | 17 ++++-- .../tomcat/SessionMarshallerFactory.java | 6 +- 6 files changed, 31 insertions(+), 115 deletions(-) delete mode 100644 common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassLoaderResolver.java delete mode 100644 common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassResolver.java diff --git a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassLoaderResolver.java b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassLoaderResolver.java deleted file mode 100644 index f9422805..00000000 --- a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassLoaderResolver.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * JBoss, Home of Professional Open Source. - * Copyright 2020, Red Hat, Inc., and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.wildfly.clustering.marshalling.jdk; - -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; - -/** - * A {@link ClassResolver} that resolves classes against a given class loader. - * @author Paul Ferraro - */ -public class ClassLoaderResolver implements ClassResolver { - - private final ClassLoader loader; - - public ClassLoaderResolver(ClassLoader loader) { - this.loader = loader; - } - - @Override - public void annotateClass(ObjectOutput output, Class targetClass) throws IOException { - // Do nothing - } - - @Override - public Class resolveClass(ObjectInput input, String className) throws IOException, ClassNotFoundException { - return this.loader.loadClass(className); - } - - @Override - public ClassLoader getClassLoader() { - return this.loader; - } -} diff --git a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassResolver.java b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassResolver.java deleted file mode 100644 index 56cc08a3..00000000 --- a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ClassResolver.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * JBoss, Home of Professional Open Source. - * Copyright 2020, Red Hat, Inc., and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.wildfly.clustering.marshalling.jdk; - -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; - -/** - * Annotates a resolves {@link Class} instances to/from an object stream. - * @author Paul Ferraro - */ -public interface ClassResolver { - - void annotateClass(ObjectOutput output, Class targetClass) throws IOException; - - Class resolveClass(ObjectInput input, String className) throws IOException, ClassNotFoundException; - - ClassLoader getClassLoader(); -} diff --git a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/JavaByteBufferMarshaller.java b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/JavaByteBufferMarshaller.java index 3e5941ce..b9bfd268 100644 --- a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/JavaByteBufferMarshaller.java +++ b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/JavaByteBufferMarshaller.java @@ -30,6 +30,7 @@ import java.io.OutputStream; import java.io.Serializable; +import org.wildfly.clustering.marshalling.Externalizer; import org.wildfly.clustering.marshalling.spi.ByteBufferMarshaller; /** @@ -38,10 +39,10 @@ * @author Paul Ferraro */ public class JavaByteBufferMarshaller implements ByteBufferMarshaller { - private final ClassResolver resolver; + private final Externalizer externalizer; - public JavaByteBufferMarshaller(ClassResolver resolver) { - this.resolver = resolver; + public JavaByteBufferMarshaller(Externalizer externalizer) { + this.externalizer = externalizer; } @Override @@ -51,7 +52,7 @@ public boolean isMarshallable(Object object) { @Override public Object readFrom(InputStream in) throws IOException { - try (ObjectInput input = new ObjectInputStream(in, this.resolver)) { + try (ObjectInput input = new ObjectInputStream(in, this.externalizer)) { return input.readObject(); } catch (ClassNotFoundException e) { InvalidClassException exception = new InvalidClassException(e.getMessage()); @@ -62,7 +63,7 @@ public Object readFrom(InputStream in) throws IOException { @Override public void writeTo(OutputStream out, Object object) throws IOException { - try (ObjectOutput output = new ObjectOutputStream(out, this.resolver)) { + try (ObjectOutput output = new ObjectOutputStream(out, this.externalizer)) { output.writeObject(object); } } diff --git a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectInputStream.java b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectInputStream.java index 8d7dda6d..a443108b 100644 --- a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectInputStream.java +++ b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectInputStream.java @@ -27,32 +27,35 @@ import java.io.ObjectStreamClass; import java.lang.reflect.Proxy; +import org.wildfly.clustering.marshalling.Externalizer; + /** - * An {@link java.io.ObjectInputStream} that resolves classes using a given {@link ClassResolver}. + * An {@link java.io.ObjectInputStream} that resolves classes using a given {@link ClassLoaderResolver}. * @author Paul Ferraro */ public class ObjectInputStream extends java.io.ObjectInputStream { - private final ClassResolver resolver; + private final Externalizer externalizer; - public ObjectInputStream(InputStream input, ClassResolver resolver) throws IOException { + public ObjectInputStream(InputStream input, Externalizer externalizer) throws IOException { super(input); - this.resolver = resolver; + this.externalizer = externalizer; } @Override protected Class resolveClass(ObjectStreamClass description) throws IOException, ClassNotFoundException { - return this.resolver.resolveClass(this, description.getName()); + String className = description.getName(); + return this.externalizer.readObject(this).loadClass(className); } @Override protected Class resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException { Class[] interfaceClasses = new Class[interfaces.length]; for (int i = 0; i < interfaces.length; ++i) { - interfaceClasses[i] = this.resolver.resolveClass(this, interfaces[i]); + interfaceClasses[i] = this.externalizer.readObject(this).loadClass(interfaces[i]); } try { - return Proxy.getProxyClass(this.resolver.getClassLoader(), interfaceClasses); + return Proxy.getProxyClass(this.externalizer.readObject(this), interfaceClasses); } catch (IllegalArgumentException e) { throw new ClassNotFoundException(null, e); } diff --git a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectOutputStream.java b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectOutputStream.java index b70c7adc..478ca54a 100644 --- a/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectOutputStream.java +++ b/common/src/main/java/org/wildfly/clustering/marshalling/jdk/ObjectOutputStream.java @@ -25,26 +25,31 @@ import java.io.IOException; import java.io.OutputStream; +import org.wildfly.clustering.marshalling.Externalizer; + /** - * An {@link java.io.ObjectInputStream} that annotates classes using a given {@link ClassResolver}. + * An {@link java.io.ObjectInputStream} that annotates classes using a given {@link ClassLoaderResolver}. * @author Paul Ferraro */ public class ObjectOutputStream extends java.io.ObjectOutputStream { - private final ClassResolver resolver; + private final Externalizer externalizer; - public ObjectOutputStream(OutputStream output, ClassResolver resolver) throws IOException { + public ObjectOutputStream(OutputStream output, Externalizer externalizer) throws IOException { super(output); - this.resolver = resolver; + this.externalizer = externalizer; } @Override protected void annotateClass(Class targetClass) throws IOException { - this.resolver.annotateClass(this, targetClass); + this.externalizer.writeObject(this, targetClass.getClassLoader()); } @Override protected void annotateProxyClass(Class proxyClass) throws IOException { - this.resolver.annotateClass(this, proxyClass); + for (Class interfaceClass : proxyClass.getInterfaces()) { + this.externalizer.writeObject(this, interfaceClass.getClassLoader()); + } + this.externalizer.writeObject(this, proxyClass.getClassLoader()); } } diff --git a/common/src/main/java/org/wildfly/clustering/tomcat/SessionMarshallerFactory.java b/common/src/main/java/org/wildfly/clustering/tomcat/SessionMarshallerFactory.java index 9a5bf945..6ecf287d 100644 --- a/common/src/main/java/org/wildfly/clustering/tomcat/SessionMarshallerFactory.java +++ b/common/src/main/java/org/wildfly/clustering/tomcat/SessionMarshallerFactory.java @@ -27,9 +27,11 @@ import org.wildfly.clustering.marshalling.jboss.JBossByteBufferMarshaller; import org.wildfly.clustering.marshalling.jboss.SimpleMarshallingConfigurationRepository; import org.wildfly.clustering.marshalling.jdk.JavaByteBufferMarshaller; +import org.wildfly.clustering.marshalling.protostream.ClassLoaderResolver; import org.wildfly.clustering.marshalling.protostream.ProtoStreamByteBufferMarshaller; import org.wildfly.clustering.marshalling.protostream.SerializationContextBuilder; import org.wildfly.clustering.marshalling.spi.ByteBufferMarshaller; +import org.wildfly.clustering.marshalling.spi.ValueExternalizer; /** * @author Paul Ferraro @@ -39,7 +41,7 @@ public enum SessionMarshallerFactory implements Function(loader)); } }, JBOSS() { @@ -51,7 +53,7 @@ public ByteBufferMarshaller apply(ClassLoader loader) { PROTOSTREAM() { @Override public ByteBufferMarshaller apply(ClassLoader loader) { - SerializationContextBuilder builder = new SerializationContextBuilder(new org.wildfly.clustering.marshalling.protostream.ClassLoaderResolver(loader)).load(loader); + SerializationContextBuilder builder = new SerializationContextBuilder(new ClassLoaderResolver(loader)).load(loader); return new ProtoStreamByteBufferMarshaller(builder.build()); } }, From df3b18e3513d10068f6b8d25a6bc6e51e0cb5049 Mon Sep 17 00:00:00 2001 From: Paul Ferraro Date: Fri, 19 Feb 2021 10:37:23 -0500 Subject: [PATCH 2/3] Upgrade to WildFly 22.0.1.Final. --- .../CatalinaSpecificationProvider.java | 2 +- .../tomcat/catalina/DistributableSession.java | 4 +-- .../tomcat/catalina/HttpSessionAdapter.java | 2 +- .../CatalinaSpecificationProvider.java | 2 +- .../tomcat/catalina/DistributableSession.java | 4 +-- .../tomcat/catalina/HttpSessionAdapter.java | 2 +- .../CatalinaSpecificationProvider.java | 2 +- .../tomcat/catalina/DistributableSession.java | 4 +-- .../tomcat/catalina/HttpSessionAdapter.java | 2 +- .../CatalinaSpecificationProvider.java | 2 +- .../tomcat/catalina/DistributableSession.java | 4 +-- .../tomcat/catalina/HttpSessionAdapter.java | 2 +- pom.xml | 31 +++++++++---------- 13 files changed, 30 insertions(+), 33 deletions(-) diff --git a/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java b/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java index 3dbfcb6d..55e1175e 100644 --- a/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java +++ b/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java @@ -65,7 +65,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { - return session.getMetaData().getLastAccessedTime().toEpochMilli(); + return session.getMetaData().getLastAccessStartTime().toEpochMilli(); } @Override diff --git a/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java b/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java index 8e40ec57..5f825b80 100644 --- a/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java +++ b/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java @@ -93,7 +93,7 @@ public String getIdInternal() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } @@ -204,7 +204,7 @@ public void tellChangedSessionId(String newId, String oldId, boolean notifySessi newSession.getAttributes().setAttribute(name, oldSession.getAttributes().getAttribute(name)); } newSession.getMetaData().setMaxInactiveInterval(oldSession.getMetaData().getMaxInactiveInterval()); - newSession.getMetaData().setLastAccessedTime(oldSession.getMetaData().getLastAccessedTime()); + newSession.getMetaData().setLastAccess(oldSession.getMetaData().getLastAccessStartTime(), oldSession.getMetaData().getLastAccessEndTime()); newSession.getLocalContext().setAuthType(oldSession.getLocalContext().getAuthType()); newSession.getLocalContext().setPrincipal(oldSession.getLocalContext().getPrincipal()); this.session = newSession; diff --git a/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java b/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java index 6da9c94d..5253009d 100644 --- a/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java +++ b/10.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java @@ -110,7 +110,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } diff --git a/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java b/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java index c122af6f..dbfd5c52 100644 --- a/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java +++ b/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java @@ -65,7 +65,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { - return session.getMetaData().getLastAccessedTime().toEpochMilli(); + return session.getMetaData().getLastAccessStartTime().toEpochMilli(); } @Override diff --git a/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java b/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java index 79e91ab6..c5e404c3 100644 --- a/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java +++ b/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java @@ -90,7 +90,7 @@ public String getIdInternal() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } @@ -201,7 +201,7 @@ public void tellChangedSessionId(String newId, String oldId) { newSession.getAttributes().setAttribute(name, oldSession.getAttributes().getAttribute(name)); } newSession.getMetaData().setMaxInactiveInterval(oldSession.getMetaData().getMaxInactiveInterval()); - newSession.getMetaData().setLastAccessedTime(oldSession.getMetaData().getLastAccessedTime()); + newSession.getMetaData().setLastAccess(oldSession.getMetaData().getLastAccessStartTime(), oldSession.getMetaData().getLastAccessEndTime()); newSession.getLocalContext().setAuthType(oldSession.getLocalContext().getAuthType()); newSession.getLocalContext().setPrincipal(oldSession.getLocalContext().getPrincipal()); this.session = newSession; diff --git a/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java b/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java index fdc7d791..d3adcdbb 100644 --- a/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java +++ b/7.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java @@ -110,7 +110,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } diff --git a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java index c122af6f..dbfd5c52 100644 --- a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java +++ b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java @@ -65,7 +65,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { - return session.getMetaData().getLastAccessedTime().toEpochMilli(); + return session.getMetaData().getLastAccessStartTime().toEpochMilli(); } @Override diff --git a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java index b73b2922..c1da361b 100644 --- a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java +++ b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java @@ -93,7 +93,7 @@ public String getIdInternal() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } @@ -204,7 +204,7 @@ public void tellChangedSessionId(String newId, String oldId, boolean notifySessi newSession.getAttributes().setAttribute(name, oldSession.getAttributes().getAttribute(name)); } newSession.getMetaData().setMaxInactiveInterval(oldSession.getMetaData().getMaxInactiveInterval()); - newSession.getMetaData().setLastAccessedTime(oldSession.getMetaData().getLastAccessedTime()); + newSession.getMetaData().setLastAccess(oldSession.getMetaData().getLastAccessStartTime(), oldSession.getMetaData().getLastAccessEndTime()); newSession.getLocalContext().setAuthType(oldSession.getLocalContext().getAuthType()); newSession.getLocalContext().setPrincipal(oldSession.getLocalContext().getPrincipal()); this.session = newSession; diff --git a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java index fdc7d791..d3adcdbb 100644 --- a/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java +++ b/8.5/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java @@ -110,7 +110,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java index c122af6f..dbfd5c52 100644 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java +++ b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/CatalinaSpecificationProvider.java @@ -65,7 +65,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { - return session.getMetaData().getLastAccessedTime().toEpochMilli(); + return session.getMetaData().getLastAccessStartTime().toEpochMilli(); } @Override diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java index b73b2922..c1da361b 100644 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java +++ b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/DistributableSession.java @@ -93,7 +93,7 @@ public String getIdInternal() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } @@ -204,7 +204,7 @@ public void tellChangedSessionId(String newId, String oldId, boolean notifySessi newSession.getAttributes().setAttribute(name, oldSession.getAttributes().getAttribute(name)); } newSession.getMetaData().setMaxInactiveInterval(oldSession.getMetaData().getMaxInactiveInterval()); - newSession.getMetaData().setLastAccessedTime(oldSession.getMetaData().getLastAccessedTime()); + newSession.getMetaData().setLastAccess(oldSession.getMetaData().getLastAccessStartTime(), oldSession.getMetaData().getLastAccessEndTime()); newSession.getLocalContext().setAuthType(oldSession.getLocalContext().getAuthType()); newSession.getLocalContext().setPrincipal(oldSession.getLocalContext().getPrincipal()); this.session = newSession; diff --git a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java index fdc7d791..d3adcdbb 100644 --- a/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java +++ b/9.0/catalina/src/main/java/org/wildfly/clustering/tomcat/catalina/HttpSessionAdapter.java @@ -110,7 +110,7 @@ public long getCreationTime() { @Override public long getLastAccessedTime() { try (BatchContext context = this.manager.getSessionManager().getBatcher().resumeBatch(this.batch)) { - return this.session.getMetaData().getLastAccessedTime().toEpochMilli(); + return this.session.getMetaData().getLastAccessStartTime().toEpochMilli(); } } diff --git a/pom.xml b/pom.xml index 2aa74249..6621ecd0 100644 --- a/pom.xml +++ b/pom.xml @@ -57,14 +57,14 @@ 8 1.3.5 4.5.13 - 11.0.8.Final - 4.3.4.Final + 11.0.9.Final + 4.3.5.Final ${version.org.infinispan} 1.6.0.Final 1.1.0.Final 1.8 - 22.0.0.Beta1 - 4.13.1 + 22.0.1.Final + 4.13.2 @@ -199,11 +199,10 @@ org.wildfly wildfly-clustering-service - - + + org.wildfly + wildfly-naming + @@ -244,10 +243,10 @@ wildfly-clustering-marshalling-protostream ${version.org.wildfly} - + @@ -271,12 +270,6 @@ org.wildfly wildfly-clustering-web-cache ${version.org.wildfly} - - - org.jboss.msc - jboss-msc - - org.wildfly @@ -298,6 +291,10 @@ org.wildfly wildfly-clustering-common + + org.jboss.metadata + jboss-metadata-web + From 6513d2f1b7b9f439d5d8d7f2c38ab87aed2516e0 Mon Sep 17 00:00:00 2001 From: Paul Ferraro Date: Fri, 19 Feb 2021 10:42:38 -0500 Subject: [PATCH 3/3] Tomcat upgrades --- 10.0/pom.xml | 2 +- 7.0/pom.xml | 2 +- 8.5/pom.xml | 2 +- 9.0/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/10.0/pom.xml b/10.0/pom.xml index 8cb85b17..ca3fb0c5 100644 --- a/10.0/pom.xml +++ b/10.0/pom.xml @@ -41,7 +41,7 @@ - 10.0.0 + 10.0.2 diff --git a/7.0/pom.xml b/7.0/pom.xml index a19246d0..cdcc9434 100644 --- a/7.0/pom.xml +++ b/7.0/pom.xml @@ -41,7 +41,7 @@ - 7.0.107 + 7.0.108 diff --git a/8.5/pom.xml b/8.5/pom.xml index e2ce9350..93749669 100644 --- a/8.5/pom.xml +++ b/8.5/pom.xml @@ -41,7 +41,7 @@ - 8.5.61 + 8.5.63 diff --git a/9.0/pom.xml b/9.0/pom.xml index ee3ff151..75bad698 100644 --- a/9.0/pom.xml +++ b/9.0/pom.xml @@ -41,7 +41,7 @@ - 9.0.41 + 9.0.43