Package org.apache.logging.log4j.message
Class ReusableMessageFactory
- java.lang.Object
-
- org.apache.logging.log4j.message.ReusableMessageFactory
-
- All Implemented Interfaces:
java.io.Serializable
,MessageFactory
,MessageFactory2
public final class ReusableMessageFactory extends java.lang.Object implements MessageFactory2, java.io.Serializable
Implementation of theMessageFactory
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
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static ReusableMessageFactory
INSTANCE
Instance of ReusableMessageFactory..
-
Constructor Summary
Constructors Constructor Description ReusableMessageFactory()
Constructs a message factory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Message
newMessage(java.lang.CharSequence charSequence)
Creates a new message for the specified CharSequence.Message
newMessage(java.lang.Object message)
CreatesReusableObjectMessage
instances.Message
newMessage(java.lang.String message)
CreatesReusableSimpleMessage
instances.Message
newMessage(java.lang.String message, java.lang.Object p0)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object... params)
CreatesReusableParameterizedMessage
instances.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8)
Creates a new parameterized message.Message
newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8, java.lang.Object p9)
Creates a new parameterized message.static void
release(Message message)
InvokesClearable.clear()
when possible.
-
-
-
Field Detail
-
INSTANCE
public static final ReusableMessageFactory INSTANCE
Instance of ReusableMessageFactory..
-
-
Method Detail
-
release
public static void release(Message message)
InvokesClearable.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
- the message to make available again- Since:
- 2.7
-
newMessage
public Message newMessage(java.lang.CharSequence charSequence)
Description copied from interface:MessageFactory2
Creates a new message for the specified CharSequence.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
charSequence
- the (potentially mutable) CharSequence- Returns:
- a new message for the specified CharSequence
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object... params)
CreatesReusableParameterizedMessage
instances.- Specified by:
newMessage
in interfaceMessageFactory
- Parameters:
message
- The message pattern.params
- The message parameters.- Returns:
- The Message.
- See Also:
MessageFactory.newMessage(String, Object...)
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameterp3
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameterp3
- a message parameterp4
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameterp3
- a message parameterp4
- a message parameterp5
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameterp3
- a message parameterp4
- a message parameterp5
- a message parameterp6
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameterp3
- a message parameterp4
- a message parameterp5
- a message parameterp6
- a message parameterp7
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameterp3
- a message parameterp4
- a message parameterp5
- a message parameterp6
- a message parameterp7
- a message parameterp8
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8, java.lang.Object p9)
Description copied from interface:MessageFactory2
Creates a new parameterized message.- Specified by:
newMessage
in interfaceMessageFactory2
- Parameters:
message
- a message template, the kind of message template depends on the implementation.p0
- a message parameterp1
- a message parameterp2
- a message parameterp3
- a message parameterp4
- a message parameterp5
- a message parameterp6
- a message parameterp7
- a message parameterp8
- a message parameterp9
- a message parameter- Returns:
- a new message
- See Also:
ParameterizedMessageFactory
-
newMessage
public Message newMessage(java.lang.String message)
CreatesReusableSimpleMessage
instances.- Specified by:
newMessage
in interfaceMessageFactory
- Parameters:
message
- The message String.- Returns:
- The Message.
- See Also:
MessageFactory.newMessage(String)
-
newMessage
public Message newMessage(java.lang.Object message)
CreatesReusableObjectMessage
instances.- Specified by:
newMessage
in interfaceMessageFactory
- Parameters:
message
- The message Object.- Returns:
- The Message.
- See Also:
MessageFactory.newMessage(Object)
-
-