Tuesday Jul 10, 2012

@OnStart & @OnStop

In applications based on NetBeans Platform 7.2, you'll be able to replace all your ModuleInstall classes with this code:

import org.openide.modules.OnStart;
import org.openide.modules.OnStop;

@OnStart
public final class Installer implements Runnable {

    @Override
    public void run() {
        System.out.println("enable something...");
    }

    @OnStop
    public static final class Down implements Runnable {
        @Override
        public void run() {
            System.out.println("disable something...");
        }
    }
    
}

Build the module and the annotations result in named services, thanks to @NamedServiceDefinition:

Aside from no longer needing to register the ModuleInstall class in the manifest, performance of startup will be enhanced, if you use the above approach:

https://netbeans.org/bugzilla/show_bug.cgi?id=200636

About

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.

Search

Archives
« July 2012 »
SunMonTueWedThuFriSat
14
28
29
30
31
    
       
Today