Skip to content

Commit e86d28b

Browse files
committed
ReusableMessageFactory: change static fields to instance
There is no reason for `ReusableMessageFactory` to have static `ThreadLocal` fields. Besides this breaks (parallel) tests since multiple instances of `ReusableMessageFactory` are not independent.
1 parent a4d2184 commit e86d28b

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,17 @@ public final class ReusableMessageFactory implements MessageFactory2, Serializab
3838
public static final ReusableMessageFactory INSTANCE = new ReusableMessageFactory();
3939

4040
private static final long serialVersionUID = -8970940216592525651L;
41-
private static ThreadLocal<ReusableParameterizedMessage> threadLocalParameterized = new ThreadLocal<>();
42-
private static ThreadLocal<ReusableSimpleMessage> threadLocalSimpleMessage = new ThreadLocal<>();
43-
private static ThreadLocal<ReusableObjectMessage> threadLocalObjectMessage = new ThreadLocal<>();
41+
private final ThreadLocal<ReusableParameterizedMessage> threadLocalParameterized = new ThreadLocal<>();
42+
private final ThreadLocal<ReusableSimpleMessage> threadLocalSimpleMessage = new ThreadLocal<>();
43+
private final ThreadLocal<ReusableObjectMessage> threadLocalObjectMessage = new ThreadLocal<>();
4444

4545
/**
4646
* Constructs a message factory.
4747
*/
4848
public ReusableMessageFactory() {
4949
}
5050

51-
private static ReusableParameterizedMessage getParameterized() {
51+
private ReusableParameterizedMessage getParameterized() {
5252
ReusableParameterizedMessage result = threadLocalParameterized.get();
5353
if (result == null) {
5454
result = new ReusableParameterizedMessage();
@@ -57,7 +57,7 @@ private static ReusableParameterizedMessage getParameterized() {
5757
return result.reserved ? new ReusableParameterizedMessage().reserve() : result.reserve();
5858
}
5959

60-
private static ReusableSimpleMessage getSimple() {
60+
private ReusableSimpleMessage getSimple() {
6161
ReusableSimpleMessage result = threadLocalSimpleMessage.get();
6262
if (result == null) {
6363
result = new ReusableSimpleMessage();
@@ -66,7 +66,7 @@ private static ReusableSimpleMessage getSimple() {
6666
return result;
6767
}
6868

69-
private static ReusableObjectMessage getObject() {
69+
private ReusableObjectMessage getObject() {
7070
ReusableObjectMessage result = threadLocalObjectMessage.get();
7171
if (result == null) {
7272
result = new ReusableObjectMessage();

0 commit comments

Comments
 (0)