Yeah, looks like listProcesses should be fixed. I'll have a look.

Matthieu

On 1/22/07, Guillaume Nodet <[EMAIL PROTECTED]> wrote:

It seems that the JBI deployment is broken.
The versioning stuff that has been recently introduced [1]
cause the OdeServiceUnit to fail starting.

The start method on the OdeServiceUnit is the following:
        List<QName> pids =
_ode._store.listProcesses(_serviceUnitRootPath.getName());
        if (pids == null) {
            __log.error(_serviceUnitRootPath.getName() + " not found
in process stroe. ");
            throw new IllegalStateException("Process store and JBI out
of synch.");
        }

        Exception e = null;
        for (QName pid : pids) {
            try {

                _ode._server.register(_ode._store.getProcessConfiguration(pid));
                _registered.add(pid);
            } catch (Exception ex) {
                e = ex;
                __log.error("Unable to load " + pid, ex);
                break;
            }
        }


The problem is that the listProcesses returns a list of QNames (with
the original
process names), but the getProcessConfiguration expects a versioned qname
(ending with "-1").  This leads to an NPE being thrown when calling the
register method with a null process.

As there is no way to retrieve the DeploymentUnitDir object, i guess
the listProcesses method should be fixed somehow, but I'm not sure exactly
how ...  Matthieu ?

[1]
http://fisheye3.cenqua.com/browse/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java?r1=495361&r2=496884

--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Reply via email to