We currently have a plugin built that on Knime startup attaches listeners to certain elements (such as the root workflow manager, all open workflows and others). This eager loading is implemented by using the org.eclipse.ui.startup extension point. This works perfectly when using Knime in graphical mode, but does not when trying to run it in batch mode from a command line. Does anyone know of a way to enable loading of such a plugin when running in batch mode ?
The extension point org.eclipse.ui.startup is only used in GUI made (as the name already indicates). In batch mode it's not possible to execute code before the workflow is loaded. Everything is loaded and initialized on demand in order to keep the startup time as small as possible. What exactly are you doing in your plug-in?
In GUI mode, what our plugin does is attach state change listeners to all open workflows and all of the nodes they contain. As well as a listener to the ROOT workflow manager that does the above to any newly created or opened workflow. Would there be any workaround to get this sort of functionality working in batch mode ? An idea i've seen mentioned elsewhere on this forum would be the use of a separate custom node that does this, however a more non-invasive approach would be preferred.
The only workaround would be to change the start level of your bundle and force it to be always loaded. I know this is possible somehow, details should be in the Eclipse documentation.