Top Description Inners Fields Constructors Methods
org.apache.logging.log4j.message

public final Class ReusableMessageFactory

extends Object
implements MessageFactory2, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, org.apache.logging.log4j.message.MessageFactory2, org.apache.logging.log4j.message.MessageFactory
Annotations
@PerformanceSensitive:allocation
@SuppressWarnings:ThreadLocalUsage
Imports
java.io.Serializable, org.apache.logging.log4j.util.PerformanceSensitive

Implementation of the MessageFactory interface that avoids allocating temporary objects where possible. Message instances are cached in a ThreadLocal and reused when a new message is requested within the same thread.
Since
2.6
See Also
ParameterizedMessageFactory, ReusableSimpleMessage, ReusableObjectMessage, ReusableParameterizedMessage

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
public static final ReusableMessageFactory
INSTANCE

Instance of ReusableMessageFactory..

private static final long
private final transient ThreadLocal<ReusableObjectMessage>
private final transient ThreadLocal<ReusableParameterizedMessage>
private final transient ThreadLocal<ReusableSimpleMessage>

Constructor Summary

AccessConstructor and Description
public
ReusableMessageFactory()

Constructs a message factory.

Method Summary

Modifier and TypeMethod and Description
private ReusableObjectMessage
private ReusableParameterizedMessage
private ReusableSimpleMessage
public Message
newMessage(final CharSequence
the (potentially mutable) CharSequence
charSequence
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new message for the specified CharSequence.

public Message

Returns:

The Message.
newMessage
(final String
The message pattern.
message
,
final Object...
The message parameters.
params
)

Implements org.apache.logging.log4j.message.MessageFactory.newMessage.

Creates ReusableParameterizedMessage instances.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
,
final Object
a message parameter
p3
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
,
final Object
a message parameter
p3
,
final Object
a message parameter
p4
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
,
final Object
a message parameter
p3
,
final Object
a message parameter
p4
,
final Object
a message parameter
p5
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
,
final Object
a message parameter
p3
,
final Object
a message parameter
p4
,
final Object
a message parameter
p5
,
final Object
a message parameter
p6
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
,
final Object
a message parameter
p3
,
final Object
a message parameter
p4
,
final Object
a message parameter
p5
,
final Object
a message parameter
p6
,
final Object
a message parameter
p7
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
,
final Object
a message parameter
p3
,
final Object
a message parameter
p4
,
final Object
a message parameter
p5
,
final Object
a message parameter
p6
,
final Object
a message parameter
p7
,
final Object
a message parameter
p8
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message
newMessage(final String
a message template, the kind of message template depends on the implementation.
message
,
final Object
a message parameter
p0
,
final Object
a message parameter
p1
,
final Object
a message parameter
p2
,
final Object
a message parameter
p3
,
final Object
a message parameter
p4
,
final Object
a message parameter
p5
,
final Object
a message parameter
p6
,
final Object
a message parameter
p7
,
final Object
a message parameter
p8
,
final Object
a message parameter
p9
)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

public Message

Returns:

The Message.
newMessage
(final String
The message String.
message
)

Implements org.apache.logging.log4j.message.MessageFactory.newMessage.

Creates ReusableSimpleMessage instances.

public Message

Returns:

The Message.
newMessage
(final Object
The message Object.
message
)

Implements org.apache.logging.log4j.message.MessageFactory.newMessage.

Creates ReusableObjectMessage instances.

public static void
release(final Message
the message to make available again
message
)

Invokes Clearable#clear() when possible.

private Object
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

INSTANCEback to summary
public static final ReusableMessageFactory INSTANCE

Instance of ReusableMessageFactory..

serialVersionUIDback to summary
private static final long serialVersionUID
threadLocalObjectMessageback to summary
private final transient ThreadLocal<ReusableObjectMessage> threadLocalObjectMessage
threadLocalParameterizedback to summary
private final transient ThreadLocal<ReusableParameterizedMessage> threadLocalParameterized
threadLocalSimpleMessageback to summary
private final transient ThreadLocal<ReusableSimpleMessage> threadLocalSimpleMessage

Constructor Detail

ReusableMessageFactoryback to summary
public ReusableMessageFactory()

Constructs a message factory.

Method Detail

getObjectback to summary
private ReusableObjectMessage getObject()
getParameterizedback to summary
private ReusableParameterizedMessage getParameterized()
getSimpleback to summary
private ReusableSimpleMessage getSimple()
newMessageback to summary
public Message newMessage(final CharSequence charSequence)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new message for the specified CharSequence.

Parameters
charSequence:CharSequence

the (potentially mutable) CharSequence

Returns:Message

a new message for the specified CharSequence

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object... params)

Implements org.apache.logging.log4j.message.MessageFactory.newMessage.

Creates ReusableParameterizedMessage instances.

Parameters
message:String

The message pattern.

params:Object[]

The message parameters.

Returns:Message

The Message.

Annotations
@Override
See Also
MessageFactory#newMessage(String, Object...)
newMessageback to summary
public Message newMessage(final String message, final Object p0)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

p3:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

p3:Object

a message parameter

p4:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

p3:Object

a message parameter

p4:Object

a message parameter

p5:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5, final Object p6)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

p3:Object

a message parameter

p4:Object

a message parameter

p5:Object

a message parameter

p6:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5, final Object p6, final Object p7)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

p3:Object

a message parameter

p4:Object

a message parameter

p5:Object

a message parameter

p6:Object

a message parameter

p7:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5, final Object p6, final Object p7, final Object p8)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

p3:Object

a message parameter

p4:Object

a message parameter

p5:Object

a message parameter

p6:Object

a message parameter

p7:Object

a message parameter

p8:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message, final Object p0, final Object p1, final Object p2, final Object p3, final Object p4, final Object p5, final Object p6, final Object p7, final Object p8, final Object p9)

Implements org.apache.logging.log4j.message.MessageFactory2.newMessage.

Doc from org.apache.logging.log4j.message.MessageFactory2.newMessage.

Creates a new parameterized message.

Parameters
message:String

a message template, the kind of message template depends on the implementation.

p0:Object

a message parameter

p1:Object

a message parameter

p2:Object

a message parameter

p3:Object

a message parameter

p4:Object

a message parameter

p5:Object

a message parameter

p6:Object

a message parameter

p7:Object

a message parameter

p8:Object

a message parameter

p9:Object

a message parameter

Returns:Message

a new message

Annotations
@Override
newMessageback to summary
public Message newMessage(final String message)

Implements org.apache.logging.log4j.message.MessageFactory.newMessage.

Creates ReusableSimpleMessage instances.

Parameters
message:String

The message String.

Returns:Message

The Message.

Annotations
@Override
See Also
MessageFactory#newMessage(String)
newMessageback to summary
public Message newMessage(final Object message)

Implements org.apache.logging.log4j.message.MessageFactory.newMessage.

Creates ReusableObjectMessage instances.

Parameters
message:Object

The message Object.

Returns:Message

The Message.

Annotations
@Override
See Also
MessageFactory#newMessage(Object)
releaseback to summary
public static void release(final Message message)

Invokes Clearable#clear() when possible. This flag is used internally to verify that a reusable message is no longer in use and can be reused.

Parameters
message:Message

the message to make available again

Since
2.7
writeReplaceback to summary
private Object writeReplace()
org.apache.logging.log4j.message back to summary

private Class ReusableMessageFactory.SerializationProxy

extends Object
implements Serializable
Class Inheritance
  • java.lang.Object
  • org.apache.logging.log4j.message.ReusableMessageFactory.SerializationProxy
All Implemented Interfaces
java.io.Serializable

Field Summary

Modifier and TypeField and Description
private static final long

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private Object
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

SerializationProxyback to summary
private SerializationProxy()

Method Detail

readResolveback to summary
private Object readResolve()