I am writing an jenkins SCM plugin and using a 3rd party Com4j.jar. While 
calling the workspace.act(new CheckoutTask()) I am getting Serialization 
exception on Com4j.Wrapper class. How can I fix this?

My code:

public class TestWorkspaceCheckout extends SCM implements Serializable{
    @Override
    public boolean checkout(AbstractBuild build, Launcher launcher, 
FilePath workspace, BuildListener listener, File changelogFile)
            throws IOException, InterruptedException
    {
        String status = workspace.act(new 
CheckoutTask(con,version,checkoutConfiguration,listener)); 
    }
    private static class CheckoutTask implements FileCallable<String> {
        private static final long serialVersionUID = 1L;
        private final EASEECom4jConnector con;
        private final IEASEEVersion version;
        private final IEASEECheckoutConfiguration checkoutConfiguration;
        private final BuildListener listener;
        public CheckoutTask(EASEECom4jConnector con,IEASEEVersion 
version,IEASEECheckoutConfiguration checkoutConfiguration,BuildListener 
listener) {

            this.con=con;
            this.version=version;
            this.checkoutConfiguration=checkoutConfiguration;
            this.listener=listener;
        }
        public void checkRoles(RoleChecker arg0) throws SecurityException {
        }
        public String invoke(File arg0, VirtualChannel arg1) throws 
IOException, InterruptedException {
            // TODO Auto-generated method stub
            try {
                con.checkout(version, checkoutConfiguration);
            } catch (EASEEException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return "Checkout Failed";
            }
            return "Checkout Completed";
        }
    }
}

   

Error Log:

ileCallableWrapper@8394ff
    at hudson.FilePath.act(FilePath.java:987)
    at hudson.FilePath.act(FilePath.java:969)
    at 
com.bosch.ci.eASEE.TestWorkspaceCheckout.checkout(TestWorkspaceCheckout.java:157)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1276)
    at 
hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
    at hudson.model.Run.execute(Run.java:1744)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:374)
Caused by: java.io.IOException: Unable to serialize 
hudson.FilePath$FileCallableWrapper@8394ff
    at hudson.remoting.UserRequest.serialize(UserRequest.java:169)
    at hudson.remoting.UserRequest.<init>(UserRequest.java:63)
    at hudson.remoting.Channel.call(Channel.java:751)
    at hudson.FilePath.act(FilePath.java:980)
    ... 10 more
Caused by: java.io.NotSerializableException: com4j.Wrapper
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.writeObject(Unknown Source)
    at hudson.remoting.UserRequest._serialize(UserRequest.java:158)
    at hudson.remoting.UserRequest.serialize(UserRequest.java:167)
    ... 13 more

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" 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-users/eabb9a59-5b5a-4e4b-a95e-3db5ebad3d75%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to