[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.platform] Re: My RCP application start up changed from 3.2 to 3.3

You can try to add your initialization code to the WorkbenchWindowAdvisor.postWindowOpen() method.
You can also try to use the Eclipse Job API http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html


Snjeza

Ian Leslie wrote:
I have an RCP application which takes about 60 seconds to start up. A portion of that is database initialization that does not need to be done before the GUI comes up. Using 3.2 I had my startup time (for the GUI to appear) down to 45s with the additional work happening on a separate thread and completing 20s or so after that.

I have updated my application to use 3.3 (I wanted some of the SWT enhancements) and now I see that the GUI does not appear until after my initialization thread is finished. I did change from IPlatformRunnable to IApplication for my app but that did not help.

The second thread is launched from the start method of one of my application's plug-ins with code like this:

       new Thread (new Runnable () {

public void run () {
try {
// Delay the start so the rest of the application can get a head start
Thread.sleep (200);
} catch (InterruptedException e) {


try {
... do a bunch of work here...
} catch (CoreException e) {
DataAccessPlugin.getInstance ().getLog ().log (ErrorFactory.createStatusObject (
DataAccessPlugin.getID (), e, DataAccessErrorCodes.WARNING_PRELOADING_FAILED));
} finally {
if (connection != null) {
try {
connection.close ();
} catch (SQLException e) {
DataAccessPlugin.getInstance ().getLog ().log (ErrorFactory.createStatusObject (
DataAccessPlugin.getID (), e, DataAccessErrorCodes.WARNING_PRELOADING_FAILED));
}
}
}
}
}).start ();




What has changed? What can I do to start a thread that will not prevent the GUI from coming up?

Any thoughts or advice would be appreciated.

Ian