The handles have the invocation context saved (for instance when submitting a task), and some have actual state that is serialized, e.g. the security context. The ConcurrentContext has the handle factories for a specific component or module.

On Sep 23, 2013, at 8:08 PM, "Jason T. Greene" <notifications@github.com> wrote:

> In ee/src/main/java/org/jboss/as/ee/concurrent/ConcurrentContext.java:
> 
> > +            out.defaultWriteObject();
> > +            // write the concurrent context service name
> > +            out.writeObject(ConcurrentServiceNames.getConcurrentContextServiceName(concurrentContext.applicationName, concurrentContext.getModuleName(), concurrentContext.getComponentName()));
> > +            // write the number of setup handles
> > +            out.write(setupHandles.size());
> > +            // write each handle
> > +            ContextHandleFactory factory = null;
> > +            String factoryName = null;
> > +            for(ContextHandle handle : setupHandles) {
> > +                factoryName = handle.getFactoryName();
> > +                factory = concurrentContext.factoryMap.get(factoryName);
> > +                if(factory == null) {
> > +                    throw EeMessages.MESSAGES.factoryNotFound(concurrentContext,factoryName);
> > +                }
> > +                out.writeUTF(factoryName);
> > +                factory.writeHandle(handle, out);
> 
> By copy-over I mean you already have a context from a service lookup
> 
> —
> Reply to this email directly or view it on GitHub.
>