Starts up this plug-in.
This method should be overridden in subclasses that need to do something
when this plug-in is started. Implementors should call the inherited method
at the first possible point to ensure that any system requirements can be met.
If this method throws an exception, it is taken as an indication that
plug-in initialization has failed; as a result, the plug-in will not
be activated; moreover, the plug-in will be marked as disabled and
ineligible for activation for the duration.
Note 1: This method is automatically invoked by the platform
the first time any code in the plug-in is executed.
Note 2: This method is intended to perform simple initialization
of the plug-in environment. The platform may terminate initializers
that do not complete in a timely fashion.
Note 3: The class loader typically has monitors acquired during invocation of this method. It is
strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
as this would lead to deadlock vulnerability.
Note 4: The supplied bundle context represents the plug-in to the OSGi framework.
For security reasons, it is strongly recommended that this object should not be divulged.
Note 5: This method and the Plugin.stop(BundleContext)
may be called from separate threads,
but the OSGi framework ensures that both methods will not be called simultaneously.
Clients must never explicitly call this method.
- Specified by:
start
in interface org.osgi.framework.BundleActivator
- Overrides:
start
in class org.eclipse.core.runtime.Plugin
- Parameters:
context
- the bundle context for this plug-in
- Throws:
java.lang.Exception
- if this plug-in did not start up properly