Return-Path: X-Original-To: apmail-openejb-commits-archive@www.apache.org Delivered-To: apmail-openejb-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EB94BD576 for ; Fri, 2 Nov 2012 22:25:25 +0000 (UTC) Received: (qmail 59972 invoked by uid 500); 2 Nov 2012 22:25:25 -0000 Delivered-To: apmail-openejb-commits-archive@openejb.apache.org Received: (qmail 59951 invoked by uid 500); 2 Nov 2012 22:25:25 -0000 Mailing-List: contact commits-help@openejb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openejb.apache.org Delivered-To: mailing list commits@openejb.apache.org Received: (qmail 59942 invoked by uid 99); 2 Nov 2012 22:25:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2012 22:25:25 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Nov 2012 22:25:22 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 8294B23889D7 for ; Fri, 2 Nov 2012 22:25:00 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1405188 - in /openejb/trunk/openejb: container/openejb-core/src/main/java/org/apache/openejb/cdi/ osgi/apache-karafee/ osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/ Date: Fri, 02 Nov 2012 22:25:00 -0000 To: commits@openejb.apache.org From: rmannibucau@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121102222500.8294B23889D7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rmannibucau Date: Fri Nov 2 22:24:59 2012 New Revision: 1405188 URL: http://svn.apache.org/viewvc?rev=1405188&view=rev Log: upgrading pax-web version in karafee + simplifying classloders in karafee + updating karafee cdi extension tracking osgi services to using objectclass property instead of using reflection Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java openejb/trunk/openejb/osgi/apache-karafee/pom.xml openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java?rev=1405188&r1=1405187&r2=1405188&view=diff ============================================================================== --- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java (original) +++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java Fri Nov 2 22:24:59 2012 @@ -18,7 +18,6 @@ package org.apache.openejb.cdi; -import java.util.concurrent.ConcurrentHashMap; import org.apache.openejb.AppContext; import org.apache.openejb.OpenEJBRuntimeException; import org.apache.openejb.assembler.classic.AppInfo; @@ -45,6 +44,7 @@ import org.apache.webbeans.spi.ScannerSe import org.apache.webbeans.spi.SecurityService; import org.apache.webbeans.spi.TransactionService; import org.apache.webbeans.spi.adaptor.ELAdaptor; +import org.apache.webbeans.web.intercept.RequestScopedBeanInterceptorHandler; import java.util.Collections; import java.util.Comparator; @@ -52,7 +52,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; -import org.apache.webbeans.web.intercept.RequestScopedBeanInterceptorHandler; +import java.util.concurrent.ConcurrentHashMap; /** * @version $Rev:$ $Date:$ Modified: openejb/trunk/openejb/osgi/apache-karafee/pom.xml URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/pom.xml?rev=1405188&r1=1405187&r2=1405188&view=diff ============================================================================== --- openejb/trunk/openejb/osgi/apache-karafee/pom.xml (original) +++ openejb/trunk/openejb/osgi/apache-karafee/pom.xml Fri Nov 2 22:24:59 2012 @@ -99,33 +99,6 @@ - org.apache.karaf.tooling - features-maven-plugin - ${karaf.version} - - - add-features-to-repo - generate-resources - - add-features-to-repo - - - - mvn:org.apache.openejb/openejb-feature/${openejb.version}/xml/features - mvn:org.apache.activemq/activemq-karaf/${org.apache.activemq.version}/xml/features - - - openejb-server - war - transaction - webconsole - - target/repo - - - - - org.apache.maven.plugins maven-dependency-plugin @@ -169,6 +142,54 @@ + + org.codehaus.gmaven + gmaven-plugin + 1.3 + + + patch-pax-web + generate-resources + + execute + + + + + + def karafVersion = project.properties['karaf.version'] + def file = new File(project.basedir, "target/dependencies/apache-karaf-${karafVersion}/system/org/apache/karaf/assemblies/features/standard/${karafVersion}/standard-${karafVersion}-features.xml") + file.write(file.text.replace('1.1.3', '1.1.5')) + + + + + org.apache.karaf.tooling + features-maven-plugin + ${karaf.version} + + + add-features-to-repo + generate-resources + + add-features-to-repo + + + + mvn:org.apache.openejb/openejb-feature/${openejb.version}/xml/features + mvn:org.apache.activemq/activemq-karaf/${org.apache.activemq.version}/xml/features + + + openejb-server + war + transaction + webconsole + + target/repo + + + + org.apache.maven.plugins maven-assembly-plugin Modified: openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java?rev=1405188&r1=1405187&r2=1405188&view=diff ============================================================================== --- openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java (original) +++ openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java Fri Nov 2 22:24:59 2012 @@ -119,11 +119,6 @@ public class Deployer implements BundleL return; } - final ClassLoader oldCl = Thread.currentThread().getContextClassLoader(); - final ClassLoader osgiCl = new OSGIClassLoader(bundle, OpenEJBBundleContextHolder.get().getBundle()); - - Thread.currentThread().setContextClassLoader(osgiCl); - final Set wiredBundles = BundleUtils.getWiredBundles(bundle); final Filter filter = new OSGiPrefixFilter(NewLoaderLogic.getExclusions()); for (Bundle b : wiredBundles) { @@ -153,6 +148,11 @@ public class Deployer implements BundleL } } + final ClassLoader oldCl = Thread.currentThread().getContextClassLoader(); + final ClassLoader osgiCl = new OSGIClassLoader(bundle, OpenEJBBundleContextHolder.get().getBundle()); + + Thread.currentThread().setContextClassLoader(osgiCl); + try { try { try { @@ -164,7 +164,7 @@ public class Deployer implements BundleL } LOGGER.info("looking bundle {} in {}", bundle.getBundleId(), bundleDump); - final AppModule appModule = new OSGiDeploymentLoader(bundle).load(bundleDump); + final AppModule appModule = new DeploymentLoader().load(bundleDump); LOGGER.info("deploying bundle #" + bundle.getBundleId() + " as an EJBModule"); final ConfigurationFactory configurationFactory = new ConfigurationFactory(); @@ -422,25 +422,6 @@ public class Deployer implements BundleL } @Override - protected Class findClass(final String name) throws ClassNotFoundException { - try { - return fallbackBundle.loadClass(name); - } catch (Exception ignored) { - // no-op - } - - try { - return this.backingBundle.loadClass(name); - } catch (ClassNotFoundException cnfe) { - throw new ClassNotFoundException(name + " not found from bundle [" + backingBundle.getSymbolicName() + "]", cnfe); - } catch (NoClassDefFoundError ncdfe) { - final NoClassDefFoundError e = new NoClassDefFoundError(name + " not found from bundle [" + backingBundle + "]"); - e.initCause(ncdfe); - throw e; - } - } - - @Override protected URL findResource(final String name) { URL url = fallbackBundle.getResource(name); if (url != null) { @@ -486,12 +467,32 @@ public class Deployer implements BundleL } @Override - protected Class loadClass(final String name, final boolean resolve) throws ClassNotFoundException { - final Class clazz = findClass(name); - if (resolve) { - resolveClass(clazz); + protected Class findClass(final String name) throws ClassNotFoundException { + try { + return fallbackBundle.loadClass(name); + } catch (Exception ignored) { + // no-op + } + + try { + return this.backingBundle.loadClass(name); + } catch (ClassNotFoundException cnfe) { + throw new ClassNotFoundException(name + " not found from bundle [" + backingBundle.getSymbolicName() + "]", cnfe); + } catch (NoClassDefFoundError ncdfe) { + final NoClassDefFoundError e = new NoClassDefFoundError(name + " not found from bundle [" + backingBundle + "]"); + e.initCause(ncdfe); + throw e; } - return clazz; + } + + @Override + public Class loadClass(final String name) throws ClassNotFoundException { + return findClass(name); + } + + @Override + protected Class loadClass(final String name, final boolean resolve) throws ClassNotFoundException { + return findClass(name); } public String toString() { @@ -507,7 +508,7 @@ public class Deployer implements BundleL } @Override - protected ClassLoader getOpenEJBClassLoader() { + protected ClassLoader getOpenEJBClassLoader() { // TODO: valid it is still mandatory return new OSGIClassLoader(bundle, OpenEJBBundleContextHolder.get().getBundle()); } } Modified: openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java?rev=1405188&r1=1405187&r2=1405188&view=diff ============================================================================== --- openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java (original) +++ openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java Fri Nov 2 22:24:59 2012 @@ -50,19 +50,22 @@ public class RegisterOSGIServicesExtensi final ServiceReference[] services = b.getRegisteredServices(); if (services != null) { for (ServiceReference service : services) { - try { - final Class clazz = serviceClass(service); - if (clazz == null) { - continue; - } + String[] clazz = (String[]) service.getProperty("objectClass"); + if (clazz == null) { + continue; + } - current.loadClass(clazz.getName()); - abd.addBean(new OSGiServiceBean(service)); - LOGGER.debug("added service {} as a CDI Application scoped bean", clazz.getName()); - } catch (NoClassDefFoundError ignored) { - // no-op - } catch (ClassNotFoundException e) { - // can't load the class so no need to register the service + for (String name : clazz) { + try { + current.loadClass(name); + abd.addBean(new OSGiServiceBean(service)); + LOGGER.debug("added service {} as a CDI Application scoped bean", name); + break; + } catch (NoClassDefFoundError ignored) { + // no-op + } catch (ClassNotFoundException e) { + // can't load the class so no need to register the service + } } } }