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 theMessageFactoryinterface 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 ReusableMessageFactoryINSTANCEInstance 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 MessagenewMessage(java.lang.CharSequence charSequence)Creates a new message for the specified CharSequence.MessagenewMessage(java.lang.Object message)CreatesReusableObjectMessageinstances.MessagenewMessage(java.lang.String message)CreatesReusableSimpleMessageinstances.MessagenewMessage(java.lang.String message, java.lang.Object p0)Creates a new parameterized message.MessagenewMessage(java.lang.String message, java.lang.Object... params)CreatesReusableParameterizedMessageinstances.MessagenewMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1)Creates a new parameterized message.MessagenewMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)Creates a new parameterized message.MessagenewMessage(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.MessagenewMessage(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.MessagenewMessage(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.MessagenewMessage(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.MessagenewMessage(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.MessagenewMessage(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.MessagenewMessage(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 voidrelease(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:MessageFactory2Creates a new message for the specified CharSequence.- Specified by:
newMessagein 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)
CreatesReusableParameterizedMessageinstances.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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:MessageFactory2Creates a new parameterized message.- Specified by:
newMessagein 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)
CreatesReusableSimpleMessageinstances.- Specified by:
newMessagein interfaceMessageFactory- Parameters:
message- The message String.- Returns:
- The Message.
- See Also:
MessageFactory.newMessage(String)
-
newMessage
public Message newMessage(java.lang.Object message)
CreatesReusableObjectMessageinstances.- Specified by:
newMessagein interfaceMessageFactory- Parameters:
message- The message Object.- Returns:
- The Message.
- See Also:
MessageFactory.newMessage(Object)
-
-