You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by dw...@apache.org on 2010/02/19 04:10:33 UTC

svn commit: r911684 - /openjpa/trunk/openjpa/src/main/java/org/apache/openjpa/osgi/PersistenceActivator.java

Author: dwoods
Date: Fri Feb 19 03:10:33 2010
New Revision: 911684

URL: http://svn.apache.org/viewvc?rev=911684&view=rev
Log:
OPENJPA-1512 minor updates to BundleActivator support

Modified:
    openjpa/trunk/openjpa/src/main/java/org/apache/openjpa/osgi/PersistenceActivator.java

Modified: openjpa/trunk/openjpa/src/main/java/org/apache/openjpa/osgi/PersistenceActivator.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa/src/main/java/org/apache/openjpa/osgi/PersistenceActivator.java?rev=911684&r1=911683&r2=911684&view=diff
==============================================================================
--- openjpa/trunk/openjpa/src/main/java/org/apache/openjpa/osgi/PersistenceActivator.java (original)
+++ openjpa/trunk/openjpa/src/main/java/org/apache/openjpa/osgi/PersistenceActivator.java Fri Feb 19 03:10:33 2010
@@ -23,6 +23,7 @@
 import org.apache.openjpa.persistence.PersistenceProviderImpl;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
 
 
 /**
@@ -36,24 +37,26 @@
     // following would be set by Aries to expose their OSGi enabled provider
     public static final String PERSISTENCE_PROVIDER = PersistenceProvider.class.getName();
     public static final String OSGI_PERSISTENCE_PROVIDER = PersistenceProviderImpl.class.getName();
-    private static BundleContext ctx;
+    private ServiceRegistration svcReg = null;
 
     /* (non-Javadoc)
      * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
      */
-    public void start(BundleContext arg0) throws Exception {
-        ctx = arg0;
+    public void start(BundleContext ctx) throws Exception {
         PersistenceProvider provider = new PersistenceProviderImpl();
         Hashtable<String, String> props = new Hashtable<String, String>();
         props.put(PERSISTENCE_PROVIDER_ARIES, OSGI_PERSISTENCE_PROVIDER);
-        ctx.registerService(PERSISTENCE_PROVIDER, provider, props);
+        svcReg = ctx.registerService(PERSISTENCE_PROVIDER, provider, props);
     }
 
     /* (non-Javadoc)
      * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
      */
-    public void stop(BundleContext arg0) throws Exception {
-        // no-op
+    public void stop(BundleContext ctx) throws Exception {
+        if (svcReg != null) {
+            svcReg.unregister();
+            svcReg = null;
+        }
     }
 
 }