Hi,

Thank you for your response. My answers below:

1) Just checking the source code of the xstream 
(https://github.com/x-stream/xstream/blob/8ea8038f96c5638315d026d5884603c9ce6cebd3/xstream/src/java/com/thoughtworks/xstream/core/util/SerializationMembers.java)
 
I could verify what you are saying. In any place appear such information 
and *i*t is not what Oracle says.* In fact, it is an inconsistency that the 
system serializes objects that are not "Serializable".*

2) "In general these classes may not be Serializable as they are not viewed 
safe for sending over remoting (which uses ObectOutputStream) so there are 
two different needs and hence 4 different scenarios, only one of which 
doesn't need readResolve". 

According the wikipedia definition of "Serialization", if you are 
translating object state into a format that can be stored, you are 
serializing (even if it these objects are not sent remotely). So may be, 
the good approach to deal with it is to check another interface rather that 
java.io.Serializable to send the object remotely.

Anyway, no problem, I can fix this behavior checking if xstream is in the 
classpath.

+1000 for your time ;)

El lunes, 21 de diciembre de 2015, 15:58:55 (UTC+1), Stephen Connolly 
escribió:
>
>
>
> On Monday 21 December 2015, Raquel Pau Fernández <[email protected] 
> <javascript:>> wrote:
>
>> Hi,
>>
>> I have sent a PR that removes dead code (
>> https://github.com/jenkinsci/jenkins/pull/1957). Some of the suggested 
>> changes are to remove readResolve methods because the classes that contain 
>> those methods do not implement java.io.Serializable.
>>
>>
> -1000
>
> Those readResolve methods are critical for XStream
>  
>
>>  XStream, as far as I know, uses the readResolve when it is dealing with 
>> the ObjectOutputStream and according the official Java documentation, just 
>> Serialiable and Externalizable elements can use readResolve. 
>>
>>
>> Then, my question is if these classes:
>>
>>
>>    - hudson.model.ListView
>>    - hudson.model.PaneStatusProperties
>>    - hudson.model.ParametersAction
>>    - hudson.model.Queue
>>    - hudson.security.csrf.DefaultCrumbIssuer
>>    - hudson.tasks.BatchFile
>>    - hudson.tasks.BuildTrigger
>>    - hudson.tasks.Shell
>>    - hudson.tools.BatchCommandInstaller
>>    - hudson.tools.CommandInstaller
>>    - hudson.util.RobustReflectionConverter
>>    - jenkins.model.ArtifactManagerConfiguration
>>    - jenkins.security.QueueItemAuthenticatorConfiguration
>>    
>> should be java.io.Serializable or the methods need to be removed?
>>
>
> Neither.
>
> It might be beneficial to make them Serializable, but there is no 
> requirement to do so. XStream.toXML doesn't need to take a Serializable and 
> will use writeReplace methods if present... Vice versa for fromXML and 
> readResolve
>
> In general these classes may not be Serializable as they are not viewed 
> safe for sending over remoting (which uses ObectOutputStream) so there are 
> two different needs and hence 4 different scenarios, only one of which 
> doesn't need readResolve
>  
>
>>
>> Thank you in advance
>>
>>
>  
>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Jenkins Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> -- 
> Sent from my phone
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/808b2bd5-8311-4bb4-997a-7c81a6834e3f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to