Browse Source

Merge branch '6.2.x'

pull/34840/head
Juergen Hoeller 9 months ago
parent
commit
bb513de224
  1. 19
      spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java
  2. 5
      spring-core/src/main/java/org/springframework/util/backoff/ExponentialBackOff.java
  3. 4
      spring-core/src/main/java/org/springframework/util/backoff/FixedBackOff.java

19
spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java

@ -463,10 +463,21 @@ public class ReflectUtils {
c = lookup.defineClass(b); c = lookup.defineClass(b);
} }
catch (LinkageError | IllegalArgumentException ex) { catch (LinkageError | IllegalArgumentException ex) {
// in case of plain LinkageError (class already defined) if (ex instanceof LinkageError) {
// or IllegalArgumentException (class in different package): // Could be a ClassLoader mismatch with the class pre-existing in a
// fall through to traditional ClassLoader.defineClass below // parent ClassLoader -> try loadClass before giving up completely.
t = ex; try {
c = contextClass.getClassLoader().loadClass(className);
}
catch (ClassNotFoundException cnfe) {
}
}
if (c == null) {
// in case of plain LinkageError (class already defined)
// or IllegalArgumentException (class in different package):
// fall through to traditional ClassLoader.defineClass below
t = ex;
}
} }
catch (Throwable ex) { catch (Throwable ex) {
throw new CodeGenerationException(ex); throw new CodeGenerationException(ex);

5
spring-core/src/main/java/org/springframework/util/backoff/ExponentialBackOff.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2024 the original author or authors. * Copyright 2002-2025 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -85,6 +85,7 @@ public class ExponentialBackOff implements BackOff {
*/ */
public static final int DEFAULT_MAX_ATTEMPTS = Integer.MAX_VALUE; public static final int DEFAULT_MAX_ATTEMPTS = Integer.MAX_VALUE;
private long initialInterval = DEFAULT_INITIAL_INTERVAL; private long initialInterval = DEFAULT_INITIAL_INTERVAL;
private double multiplier = DEFAULT_MULTIPLIER; private double multiplier = DEFAULT_MULTIPLIER;
@ -204,6 +205,7 @@ public class ExponentialBackOff implements BackOff {
return this.maxAttempts; return this.maxAttempts;
} }
@Override @Override
public BackOffExecution start() { public BackOffExecution start() {
return new ExponentialBackOffExecution(); return new ExponentialBackOffExecution();
@ -225,6 +227,7 @@ public class ExponentialBackOff implements BackOff {
.toString(); .toString();
} }
private class ExponentialBackOffExecution implements BackOffExecution { private class ExponentialBackOffExecution implements BackOffExecution {
private long currentInterval = -1; private long currentInterval = -1;

4
spring-core/src/main/java/org/springframework/util/backoff/FixedBackOff.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2018 the original author or authors. * Copyright 2002-2025 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -35,6 +35,7 @@ public class FixedBackOff implements BackOff {
*/ */
public static final long UNLIMITED_ATTEMPTS = Long.MAX_VALUE; public static final long UNLIMITED_ATTEMPTS = Long.MAX_VALUE;
private long interval = DEFAULT_INTERVAL; private long interval = DEFAULT_INTERVAL;
private long maxAttempts = UNLIMITED_ATTEMPTS; private long maxAttempts = UNLIMITED_ATTEMPTS;
@ -86,6 +87,7 @@ public class FixedBackOff implements BackOff {
return this.maxAttempts; return this.maxAttempts;
} }
@Override @Override
public BackOffExecution start() { public BackOffExecution start() {
return new FixedBackOffExecution(); return new FixedBackOffExecution();

Loading…
Cancel
Save