oooServer.start(oooAcceptOption);
// initial service manager
XMultiComponentFactory xLocalServiceManager = xLocalContext.getServiceManager();
if ( xLocalServiceManager == null )
throw new BootstrapException("no initial service manager!");
// create a URL resolver
XUnoUrlResolver xUrlResolver = UnoUrlResolver.create(xLocalContext);
// wait until office is started
for (int i = 0;; ++i) {
try {
xContext = getRemoteContext(xUrlResolver);
break;
} catch ( com.sun.star.connection.NoConnectException ex ) {
// Wait 500 ms, then try to connect again, but do not wait
// longer than 5 min (= 600 * 500 ms) total:
if (i == 600) {
throw new BootstrapException(ex.toString());
}
Thread.sleep(500);
}
}
} catch (java.lang.RuntimeException e) {
throw e;
} catch (java.lang.Exception e) {
throw new BootstrapException(e);
}
return xContext;
}