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 jenkinsci-users+unsubscr...@googlegroups.com.
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