That's actually how I've assumed it works and was never surprised by it. I
never bothered to look into it, though, as I usually didn't need to worry
about it.


On 26 August 2014 08:32, Gary Gregory <[email protected]> wrote:

> On Tue, Aug 26, 2014 at 1:11 AM, Remko Popma <[email protected]>
> wrote:
>
>> Is it okay to use serialVersionUID = 1L for real (non-test) components?
>> (I only have a vague idea how this is used internally...)
>>
>
> You can use whatever serialVersionUID long you want if you declare it.
>
> Since the classes were not Serializable before, there is no compatibility
> issue.
>
> If the class had been Serializablebut no serialVersionUID existed, then
> the runtime would generate one for you, so then it would make sense to use
> that serialVersionUID in the declaration. With 1L, it's easier to "see"
> that it is the 1st version, we can bump it to 2L, 3L and so on as need be.
>
> Gary
>
> Gary
>
>
>>
>> Sent from my iPhone
>>
>> > On 2014/08/25, at 23:22, [email protected] wrote:
>> >
>> > Author: ggregory
>> > Date: Mon Aug 25 21:22:25 2014
>> > New Revision: 1620456
>> >
>> > URL: http://svn.apache.org/r1620456
>> > Log:
>> > [LOG4J2-800] All life cycle implementations should be serializable.
>> >
>> > Modified:
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/NullConfiguration.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/json/JsonConfiguration.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/yaml/YamlConfiguration.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
>> >
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -67,6 +67,8 @@ import org.apache.logging.log4j.util.Str
>> > @Plugin(name = "asyncLogger", category = "Core", printObject = true)
>> > public class AsyncLoggerConfig extends LoggerConfig {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> > +
>> >     private AsyncLoggerConfigHelper helper;
>> >
>> >     /**
>> > @@ -204,6 +206,8 @@ public class AsyncLoggerConfig extends L
>> >     @Plugin(name = "asyncRoot", category = "Core", printObject = true)
>> >     public static class RootLogger extends LoggerConfig {
>> >
>> > +        private static final long serialVersionUID = 1L;
>> > +
>> >         @PluginFactory
>> >         public static LoggerConfig createLogger(
>> >                 @PluginAttribute("additivity") final String additivity,
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -27,6 +27,8 @@ import org.apache.logging.log4j.message.
>> >  */
>> > public class AsyncLoggerContext extends LoggerContext {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> > +
>> >     public AsyncLoggerContext(final String name) {
>> >         super(name);
>> >     }
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -490,6 +490,8 @@ public class LoggerConfig extends Abstra
>> >     @Plugin(name = "root", category = "Core", printObject = true)
>> >     public static class RootLogger extends LoggerConfig {
>> >
>> > +        private static final long serialVersionUID = 1L;
>> > +
>> >         @PluginFactory
>> >         public static LoggerConfig createLogger(
>> >                 @PluginAttribute("additivity") final String additivity,
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/NullConfiguration.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/NullConfiguration.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/NullConfiguration.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/NullConfiguration.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -23,6 +23,7 @@ import org.apache.logging.log4j.Level;
>> >  */
>> > public class NullConfiguration extends AbstractConfiguration {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> >     public static final String NULL_NAME = "Null";
>> >
>> >     public NullConfiguration() {
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/json/JsonConfiguration.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/json/JsonConfiguration.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/json/JsonConfiguration.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/json/JsonConfiguration.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -47,6 +47,7 @@ import com.fasterxml.jackson.databind.Ob
>> >  */
>> > public class JsonConfiguration extends AbstractConfiguration implements
>> Reconfigurable {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> >     private static final String[] VERBOSE_CLASSES = new String[] {
>> ResolverUtil.class.getName() };
>> >     private final List<Status> status = new ArrayList<Status>();
>> >     private JsonNode root;
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -62,6 +62,8 @@ import org.xml.sax.SAXException;
>> >  */
>> > public class XmlConfiguration extends AbstractConfiguration implements
>> Reconfigurable {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> > +
>> >     private static final String XINCLUDE_FIXUP_LANGUAGE = "
>> http://apache.org/xml/features/xinclude/fixup-language";;
>> >     private static final String XINCLUDE_FIXUP_BASE_URIS = "
>> http://apache.org/xml/features/xinclude/fixup-base-uris";;
>> >     private static final String[] VERBOSE_CLASSES = new String[] {
>> ResolverUtil.class.getName() };
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/yaml/YamlConfiguration.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/yaml/YamlConfiguration.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/yaml/YamlConfiguration.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/yaml/YamlConfiguration.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -25,6 +25,8 @@ import com.fasterxml.jackson.dataformat.
>> >
>> > public class YamlConfiguration extends JsonConfiguration {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> > +
>> >     public YamlConfiguration(final ConfigurationSource configSource) {
>> >         super(configSource);
>> >     }
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -39,6 +39,8 @@ import org.apache.logging.log4j.message.
>> > @Plugin(name = "StructuredDataFilter", category = "Core", elementType =
>> "filter", printObject = true)
>> > public final class StructuredDataFilter extends MapFilter {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> > +
>> >     private StructuredDataFilter(final Map<String, List<String>> map,
>> final boolean oper, final Result onMatch,
>> >                                  final Result onMismatch) {
>> >         super(map, oper, onMatch, onMismatch);
>> >
>> > Modified:
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
>> > URL:
>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java?rev=1620456&r1=1620455&r2=1620456&view=diff
>> >
>> ==============================================================================
>> > ---
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
>> (original)
>> > +++
>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
>> Mon Aug 25 21:22:25 2014
>> > @@ -40,6 +40,8 @@ import org.apache.logging.log4j.message.
>> > @Plugin(name = "ThreadContextMapFilter", category = "Core", elementType
>> = "filter", printObject = true)
>> > public class ThreadContextMapFilter extends MapFilter {
>> >
>> > +    private static final long serialVersionUID = 1L;
>> > +
>> >     private final String key;
>> >     private final String value;
>> >
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> --
> E-Mail: [email protected] | [email protected]
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
Matt Sicker <[email protected]>

Reply via email to