}
}
recoveryProps.put ("de.danet.an.workflow.engine", homeName);
} catch (NamingException e) {
logger.error (e.getMessage (), e);
throw new FactoryConfigurationError
("Problem accessing JNDI: " + e.getMessage());
}
if (logger.isDebugEnabled ()) {
logger.debug
("Creating new WorkflowService for "
+ mapToString("InitialContext", env) + "/" + homeName);
}
try {
// Do not use EJBUtil here because we do not want
// de.danet.an.workflow.api to depend on other packes
// than de.danet.an.workflow.omgcore
Object objref = serverContext.lookup(homeName);
WorkflowEngineHome wfeh
= (WorkflowEngineHome)PortableRemoteObject.narrow
(objref, WorkflowEngineHome.class);
WorkflowEngine wfe = wfeh.create();
WorkflowService service = new StandardWorkflowService
(recoveryProps, serverContext, wfe);
return service;
} catch (NamingException e) {
logger.error (e.getMessage (), e);
throw new FactoryConfigurationError
("Problem accessing JNDI: " + e.getMessage(), e);
} catch (CreateException e) {
logger.error (e.getMessage (), e);
throw new FactoryConfigurationError
("Cannot create WorkflowEngineEJB: " + e.getMessage(), e);
} catch (RemoteException e) {
logger.error (e.getMessage (), e);
throw new FactoryConfigurationError
("Cannot create WorkflowEngineEJB: " + e.getMessage(), e);
}
}