alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Groovy example source code file (Activator.groovy)

This example Groovy source code file (Activator.groovy) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Groovy tags/keywords

activator, bundleactivator, bundleactivator, classloader, groovy, groovy, groovygreeter, groovygreeter, groovygreeterimpl, serviceregistration, serviceregistration

The Groovy Activator.groovy source code

package org.codehaus.groovy.osgi

import org.osgi.framework.BundleActivator
import org.osgi.framework.BundleContext
import org.osgi.framework.ServiceRegistration;

/**
* This is the OSGi Activator for the Groovy example bundles. 
* Two things happen when the container starts this bundle: 
*   1) a message is printed to standard out
*   2) a service of type GroovyGreeter is added to the context 
* The service is unregistered when the bundle is stopped. 
* 
* @author Hamlet D'Arcy
*/ 
public class Activator implements BundleActivator {

    ServiceRegistration registration
  
    public void start(BundleContext context) {
        println "Groovy BundleActivator started"
  
        // Normally, the classloader code would not need to be run when 
        // adding a service to the context. However, this is required when
        // adding a Groovy service because of the way Groovy uses class 
        // loaders and reflection. 
        ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader()
        try {
            Thread.currentThread().setContextClassLoader(getClass().getClassLoader())
            GroovyGreeter myService = new GroovyGreeterImpl()
            registration = context.registerService(GroovyGreeter.class.getName(), myService, null)
        } finally {
            Thread.currentThread().setContextClassLoader(originalClassLoader)
        }
    }
  
    public void stop(BundleContext context) {
        println "Groovy BundleActivator stopped"
        registration.unregister();
    }
}

Other Groovy examples (source code examples)

Here is a short list of links related to this Groovy Activator.groovy source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.