You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by io...@apache.org on 2010/09/15 12:23:17 UTC

svn commit: r997260 - /karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java

Author: iocanel
Date: Wed Sep 15 10:23:17 2010
New Revision: 997260

URL: http://svn.apache.org/viewvc?rev=997260&view=rev
Log:
JDBCLoginModule now ungets the service reference. JDBCLoginModule can perform jndi lookups on XA Datasources.

Modified:
    karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java

Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java?rev=997260&r1=997259&r2=997260&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java Wed Sep 15 10:23:17 2010
@@ -79,7 +79,7 @@ public class JDBCLoginModule extends Abs
         } else if (url.startsWith(JNDI)) {
             String jndiName = url.substring(JNDI.length());
             InitialContext ic = new InitialContext();
-            DataSource ds = (DataSource) ic.lookup(jndiName);
+            Object ds =  ic.lookup(jndiName);
             return ds;
         } else if (url.startsWith(OSGI)) {
             String osgiFilter = url.substring(OSGI.length());
@@ -97,7 +97,9 @@ public class JDBCLoginModule extends Abs
             ServiceReference[] references = bundleContext.getServiceReferences(clazz, filter);
             if (references != null) {
                 ServiceReference ref = references[0];
-                return bundleContext.getService(ref);
+                Object ds = bundleContext.getService(ref);
+                bundleContext.ungetService(ref);
+                return ds;
             } else {
                 throw new Exception("Unable to find service reference for datasource: " + clazz + "/" + filter);
             }