Author: rmannibucau
Date: Tue Oct 16 13:18:05 2012
New Revision: 1398779
URL: http://svn.apache.org/viewvc?rev=1398779&view=rev
Log:
OPENEJB-1894 Karaf 2.3.0
Modified:
openejb/trunk/openejb/osgi/apache-karafee/pom.xml
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java
openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml
openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
openejb/trunk/openejb/osgi/pom.xml
Modified: openejb/trunk/openejb/osgi/apache-karafee/pom.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/apache-karafee/pom.xml (original)
+++ openejb/trunk/openejb/osgi/apache-karafee/pom.xml Tue Oct 16 13:18:05 2012
@@ -30,12 +30,14 @@
<version>1.5.1-SNAPSHOT</version>
<packaging>pom</packaging>
+ <!--
<repositories>
<repository>
- <id>opensource</id> <!-- eclipse osgi -->
+ <id>opensource</id>
<url>http://ebayopensource.org/nexus/content/groups/public/</url>
</repository>
</repositories>
+ -->
<dependencies>
<dependency>
Modified:
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
---
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
(original)
+++
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
Tue Oct 16 13:18:05 2012
@@ -29,10 +29,21 @@
#
# Properties file inclusions (as a space separated list of relative paths)
# Included files will override the values specified in this file
+# NB: ${includes} properties files are mandatory, it means that Karaf will not
start
+# if the include file is not found
#
${includes} = jre.properties custom.properties
#
+# Properties file inclusions (as a space separated list of relative paths)
+# Included files will override the values specified in this file
+# NB: ${optionals} properties files are optionals, it means that Karaf will
just
+# display a warning message but the bootstrap will be performed
+#
+# ${optionals} = my.properties
+
+
+#
# Framework selection properties
#
karaf.framework=felix
@@ -40,24 +51,34 @@ karaf.framework=felix
#
# Location of the OSGi frameworks
#
-karaf.framework.equinox=${karaf.default.repository}/org/eclipse/osgi/3.6.2.R36x_v20110210/osgi-3.6.2.R36x_v20110210.jar
-karaf.framework.felix=${karaf.default.repository}/org/apache/felix/org.apache.felix.framework/3.2.2/org.apache.felix.framework-3.2.2.jar
+karaf.framework.equinox=${karaf.default.repository}/org/eclipse/osgi/3.8.0.v20120529-1548/osgi-3.8.0.v20120529-1548.jar
+karaf.framework.felix=${karaf.default.repository}/org/apache/felix/org.apache.felix.framework/4.0.3/org.apache.felix.framework-4.0.3.jar
#
# Framework config properties.
#
-org.osgi.framework.system.packages=org.osgi.framework; version=1.5.0, \
- org.osgi.framework.launch; version=1.0.0, \
- org.osgi.framework.hooks.service; version=1.0.0, \
- org.osgi.service.packageadmin; version=1.2.0, \
- org.osgi.service.startlevel; version=1.1.0, \
- org.osgi.service.url; version=1.0.0, \
- org.osgi.util.tracker; version=1.4.0, \
- org.apache.karaf.jaas.boot; version=${karaf.version}, \
- org.apache.karaf.version; version=${karaf.version}, \
+org.osgi.framework.system.packages= \
+ org.osgi.framework.startlevel;uses:="org.osgi.framework";version="1.0", \
+
org.osgi.framework.wiring;uses:="org.osgi.resource,org.osgi.framework";version="1.1",
\
+ org.osgi.framework.hooks.bundle;uses:="org.osgi.framework";version="1.1", \
+ org.osgi.framework.hooks.service;uses:="org.osgi.framework";version="1.1", \
+
org.osgi.framework.hooks.resolver;uses:="org.osgi.framework.wiring";version="1.0",
\
+ org.osgi.framework.launch;uses:="org.osgi.framework";version="1.1", \
+ org.osgi.framework.namespace;uses:="org.osgi.resource";version="1.0", \
+ org.osgi.framework;version="1.7",\
+
org.osgi.framework.hooks.weaving;uses:="org.osgi.framework.wiring";version="1.0",\
+ org.osgi.resource;version="1.0",org.osgi.service.url;version="1.0",\
+ org.osgi.service.startlevel;uses:="org.osgi.framework";version="1.1",\
+ org.osgi.service.packageadmin;uses:="org.osgi.framework";version="1.2",\
+ org.osgi.service.url;version="1.0", \
+ org.osgi.util.tracker;uses:="org.osgi.framework";version="1.5.1", \
+ org.apache.karaf.jaas.boot;version="2.3.0", \
+ org.apache.karaf.jaas.boot.principal;version="2.3.0", \
+ org.apache.karaf.version;version="2.3.0", \
${jre-${java.specification.version}}
-org.osgi.framework.system.packages.extra=
+# Extra packages appended after standard packages
+# org.osgi.framework.system.packages.extra=
# javax.transaction is needed to avoid class loader constraint violation when
using javax.sql
org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,!com.sun.xml.internal.bind.*,sun.*,com.sun.*,javax.transaction,javax.transaction.*
@@ -72,7 +93,7 @@ org.osgi.framework.bundle.parent=framewo
karaf.auto.start=startup.properties
org.osgi.framework.startlevel.beginning=100
-karaf.startlevel.bundle=60
+karaf.startlevel.bundle=80
karaf.shutdown.port.file=${karaf.data}/port
@@ -83,6 +104,7 @@ felix.fileinstall.dir = ${karaf.base}
felix.fileinstall.filter = .*\\.cfg
felix.fileinstall.poll = 1000
felix.fileinstall.noInitialDelay = true
+felix.fileinstall.log.level = 3
#
# Delay for writing the framework state to disk in equinox
@@ -95,3 +117,5 @@ eclipse.stateSaveDelayInterval = 1000
# This property will be modified by the obr:addUrl and obr:removeUrl commands.
#
obr.repository.url =
+
+karaf.delay.console=false
Modified:
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
---
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
(original)
+++
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
Tue Oct 16 13:18:05 2012
@@ -28,4 +28,4 @@ karaf.systemBundlesStartLevel=50
# You can place any customized configuration here.
#
-org.osgi.framework.system.packages.extra = org.apache.karaf.branding;
+org.osgi.framework.system.packages.extra = org.apache.karaf.branding
Modified:
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
---
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
(original)
+++
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
Tue Oct 16 13:18:05 2012
@@ -16,10 +16,17 @@
# limitations under the License.
#
################################################################################
+
+#
+# Java platform package export properties.
+#
+
+# Standard package set. Note that:
+# - javax.transaction* is exported with a mandatory attribute
jre-1.6= \
sun.misc,\
javax.accessibility, \
- javax.activation, \
+ javax.activation;version="1.1", \
javax.activity, \
javax.annotation.processing;version="1.1", \
javax.crypto, \
@@ -107,23 +114,187 @@ jre-1.6= \
javax.xml.datatype, \
javax.xml.namespace;version="1.0.0", \
javax.xml.parsers, \
- javax.xml.soap, \
- javax.xml.stream, \
- javax.xml.stream.events, \
- javax.xml.stream.util, \
+ javax.xml.soap;version="1.3", \
+ javax.xml.stream;version="1.2", \
+ javax.xml.stream.events;version="1.2", \
+ javax.xml.stream.util;version="1.2", \
+ javax.xml.transform, \
+ javax.xml.transform.dom, \
+ javax.xml.transform.sax, \
+ javax.xml.transform.stax, \
+ javax.xml.transform.stream, \
+ javax.xml.validation, \
+ javax.xml.ws;version="2.2", \
+ javax.xml.ws.handler;version="2.2", \
+ javax.xml.ws.handler.soap;version="2.2", \
+ javax.xml.ws.http;version="2.2", \
+ javax.xml.ws.soap;version="2.2", \
+ javax.xml.ws.spi;version="2.2", \
+ javax.xml.ws.wsaddressing;version="2.2", \
+ javax.xml.ws.spi.http;version="2.2", \
+ javax.xml.xpath, \
+ org.ietf.jgss, \
+ org.omg.CORBA, \
+ org.omg.CORBA_2_3, \
+ org.omg.CORBA_2_3.portable, \
+ org.omg.CORBA.DynAnyPackage, \
+ org.omg.CORBA.ORBPackage, \
+ org.omg.CORBA.portable, \
+ org.omg.CORBA.TypeCodePackage, \
+ org.omg.CosNaming, \
+ org.omg.CosNaming.NamingContextExtPackage, \
+ org.omg.CosNaming.NamingContextPackage, \
+ org.omg.Dynamic, \
+ org.omg.DynamicAny, \
+ org.omg.DynamicAny.DynAnyFactoryPackage, \
+ org.omg.DynamicAny.DynAnyPackage, \
+ org.omg.IOP, \
+ org.omg.IOP.CodecFactoryPackage, \
+ org.omg.IOP.CodecPackage, \
+ org.omg.Messaging, \
+ org.omg.PortableInterceptor, \
+ org.omg.PortableInterceptor.ORBInitInfoPackage, \
+ org.omg.PortableServer, \
+ org.omg.PortableServer.CurrentPackage, \
+ org.omg.PortableServer.POAManagerPackage, \
+ org.omg.PortableServer.POAPackage, \
+ org.omg.PortableServer.portable, \
+ org.omg.PortableServer.ServantLocatorPackage, \
+ org.omg.SendingContext, \
+ org.omg.stub.java.rmi, \
+ org.omg.stub.javax.management.remote.rmi, \
+ org.w3c.dom, \
+ org.w3c.dom.bootstrap, \
+ org.w3c.dom.css, \
+ org.w3c.dom.events, \
+ org.w3c.dom.html, \
+ org.w3c.dom.ls, \
+ org.w3c.dom.ranges, \
+ org.w3c.dom.stylesheets, \
+ org.w3c.dom.traversal, \
+ org.w3c.dom.views, \
+ org.w3c.dom.xpath, \
+ org.xml.sax, \
+ org.xml.sax.ext, \
+ org.xml.sax.helpers
+
+# Standard package set. Note that:
+# - javax.transaction* is exported with a mandatory attribute
+jre-1.7= \
+ javax.accessibility, \
+ javax.activation;version="1.1", \
+ javax.activity, \
+ javax.annotation;version="1.1", \
+ javax.annotation.processing;version="1.1", \
+ javax.crypto, \
+ javax.crypto.interfaces, \
+ javax.crypto.spec, \
+ javax.imageio, \
+ javax.imageio.event, \
+ javax.imageio.metadata, \
+ javax.imageio.plugins.bmp, \
+ javax.imageio.plugins.jpeg, \
+ javax.imageio.spi, \
+ javax.imageio.stream, \
+ javax.jws, \
+ javax.jws.soap, \
+ javax.lang.model, \
+ javax.lang.model.element, \
+ javax.lang.model.type, \
+ javax.lang.model.util, \
+ javax.management, \
+ javax.management.loading, \
+ javax.management.modelmbean, \
+ javax.management.monitor, \
+ javax.management.openmbean, \
+ javax.management.relation, \
+ javax.management.remote, \
+ javax.management.remote.rmi, \
+ javax.management.timer, \
+ javax.naming, \
+ javax.naming.directory, \
+ javax.naming.event, \
+ javax.naming.ldap, \
+ javax.naming.spi, \
+ javax.net, \
+ javax.net.ssl, \
+ javax.print, \
+ javax.print.attribute, \
+ javax.print.attribute.standard, \
+ javax.print.event, \
+ javax.rmi, \
+ javax.rmi.CORBA, \
+ javax.rmi.ssl, \
+ javax.script, \
+ javax.security.auth, \
+ javax.security.auth.callback, \
+ javax.security.auth.kerberos, \
+ javax.security.auth.login, \
+ javax.security.auth.spi, \
+ javax.security.auth.x500, \
+ javax.security.cert, \
+ javax.security.sasl, \
+ javax.sound.midi, \
+ javax.sound.midi.spi, \
+ javax.sound.sampled, \
+ javax.sound.sampled.spi, \
+ javax.sql, \
+ javax.sql.rowset, \
+ javax.sql.rowset.serial, \
+ javax.sql.rowset.spi, \
+ javax.swing, \
+ javax.swing.border, \
+ javax.swing.colorchooser, \
+ javax.swing.event, \
+ javax.swing.filechooser, \
+ javax.swing.plaf, \
+ javax.swing.plaf.basic, \
+ javax.swing.plaf.metal, \
+ javax.swing.plaf.multi, \
+ javax.swing.plaf.synth, \
+ javax.swing.table, \
+ javax.swing.text, \
+ javax.swing.text.html, \
+ javax.swing.text.html.parser, \
+ javax.swing.text.rtf, \
+ javax.swing.tree, \
+ javax.swing.undo, \
+ javax.tools, \
+ javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
+ javax.xml, \
+ javax.xml.bind;version="2.2.1", \
+ javax.xml.bind.annotation;version="2.2.1", \
+ javax.xml.bind.annotation.adapters;version="2.2.1", \
+ javax.xml.bind.attachment;version="2.2.1", \
+ javax.xml.bind.helpers;version="2.2.1", \
+ javax.xml.bind.util;version="2.2.1", \
+ javax.xml.crypto, \
+ javax.xml.crypto.dom, \
+ javax.xml.crypto.dsig, \
+ javax.xml.crypto.dsig.dom, \
+ javax.xml.crypto.dsig.keyinfo, \
+ javax.xml.crypto.dsig.spec, \
+ javax.xml.datatype, \
+ javax.xml.namespace, \
+ javax.xml.parsers, \
+ javax.xml.soap;version="1.3", \
+ javax.xml.stream;version="1.2", \
+ javax.xml.stream.events;version="1.2", \
+ javax.xml.stream.util;version="1.2", \
javax.xml.transform, \
javax.xml.transform.dom, \
javax.xml.transform.sax, \
javax.xml.transform.stax, \
javax.xml.transform.stream, \
javax.xml.validation, \
- javax.xml.ws, \
- javax.xml.ws.handler, \
- javax.xml.ws.handler.soap, \
- javax.xml.ws.http, \
- javax.xml.ws.soap, \
- javax.xml.ws.spi, \
- javax.xml.ws.wsaddressing, \
+ javax.xml.ws;version="2.2", \
+ javax.xml.ws.handler;version="2.2", \
+ javax.xml.ws.handler.soap;version="2.2", \
+ javax.xml.ws.http;version="2.2", \
+ javax.xml.ws.soap;version="2.2", \
+ javax.xml.ws.spi;version="2.2", \
+ javax.xml.ws.wsaddressing;version="2.2", \
+ javax.xml.ws.spi.http;version="2.2", \
javax.xml.xpath, \
org.ietf.jgss, \
org.omg.CORBA, \
Modified:
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
---
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
(original)
+++
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
Tue Oct 16 13:18:05 2012
@@ -24,4 +24,4 @@ featuresRepositories=mvn:org.apache.kara
#
# Comma separated list of features to install at startup
#
-featuresBoot=config,ssh,management,war,webconsole,transaction,openejb-server
+featuresBoot=config,ssh,management,kar,war,webconsole,transaction,openejb-server
Modified:
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
---
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
(original)
+++
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
Tue Oct 16 13:18:05 2012
@@ -38,8 +38,18 @@ sshRealm=${karafee.user}
#
hostKey=${karaf.base}/etc/host.key
-#
# Role name used for SSH access authorization
# If not set, this defaults to the ${karaf.admin.role} configured in
etc/system.properties
#
# sshRole=admin
+
+#
+# Self defined key size in 1024, 2048, 3072, or 4096
+# If not set, this defaults to 1024.
+#
+# keySize=1024
+
+#
+# Specify host key algorithm, defaults to DSA
+#
+# algorithm=DSA
Modified:
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
---
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
(original)
+++
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
Tue Oct 16 13:18:05 2012
@@ -16,15 +16,25 @@
# limitations under the License.
#
################################################################################
+
#
# The properties defined in this file will be made available through system
-# properties at the very beginning of the FAS boot process.
+# properties at the very beginning of the Karaf's boot process.
#
# link between openejb-server and openejb-core
# as it is automatically refreshed 1 is enough as timeout
openejb.osgi.tracker.timeout=1
+#
+# openejb log configuration
+#
+# use karaf conf
+openejb.logger.external=true
+# use log4j logger, pax is an adapted version of openejb log4j logger for pax
logging
+openejb.log.factory=pax
+
+
# Log level when the pax-logging service is not available
# This level will only be used while the pax-logging service bundle
# is not fully available.
@@ -33,50 +43,63 @@ openejb.osgi.tracker.timeout=1
org.ops4j.pax.logging.DefaultServiceLog.level=ERROR
#
-# Name of this custom instance.
+# Name of this Karaf instance.
#
-karaf.name=karafee
+karaf.name=${karafee.user}
#
# Default repository where bundles will be loaded from before using
-# other maven repositories. For the full Maven configuration, see the
-# org.ops4j.pax.url.mvn.cfg file.
+# other Maven repositories. For the full Maven configuration, see
+# the org.ops4j.pax.url.mvn.cfg file.
#
karaf.default.repository=system
#
# Location of a shell script that will be run when starting a shell
-# session. This script can be used to create aliases and define
+# session. This script can be used to create aliases and define
# additional commands.
#
karaf.shell.init.script=${karaf.home}/etc/shell.init.script
#
+# Default role name used for console authorization (JMX, SSH and WEB)
+# The syntax is the following:
+# [classname:]principal
+# where classname is the class name of the principal object
+# (defaults to org.apache.karaf.jaas.modules.RolePrincipal)
+# and principal is the name of the principal of that class
+# (defaults to admin).
+#
+# Note that this value can be overriden using the various ConfigAdmin
+# configurations for JMX, SSH or the WebConsole.
+#
+karaf.admin.role=admin
+
+#
# Set this empty property to avoid errors when validating xml documents.
#
xml.catalog.files=
#
-# Suppress the bell in the console when hitting backspace to many times
+# Suppress the bell in the console when hitting backspace too many times
# for example
#
jline.nobell=true
-#
-# Default port for the OSGi HTTP Service
-#
-org.osgi.service.http.port=8181
+# Workaround for KARAF-1117: Jetty will use a JUL logger.
+org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog
#
-# Allow usage of ${custom.home} as an alias for ${karaf.home}
+# ServiceMix specs options
#
-custom.home=${karaf.home}
+org.apache.servicemic.specs.debug=false
+org.apache.servicemic.specs.timeout=0
#
-# openejb log configuration
+# Settings for the OSGi 4.3 Weaving
+# By default, we will not weave any classes. Change this setting to include
classes
+# that you application needs to have woven.
#
-# use karaf conf
-openejb.logger.external=true
-# use log4j logger, pax is an adapted version of openejb log4j logger for pax
logging
-openejb.log.factory=pax
-
+org.apache.aries.proxy.weaving.enabled=none
+# Classes not to weave - Aries default + Xerces which is known to have issues.
+org.apache.aries.proxy.weaving.disabled=org.objectweb.asm.*,org.slf4j.*,org.apache.log4j.*,javax.*,org.apache.xerces.*
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=1398779&r1=1398778&r2=1398779&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
Tue Oct 16 13:18:05 2012
@@ -20,6 +20,7 @@ package org.apache.openejb.core.osgi.imp
import org.apache.webbeans.annotation.AnyLiteral;
import org.apache.webbeans.annotation.DefaultLiteral;
import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
import org.slf4j.Logger;
@@ -51,6 +52,10 @@ public class RegisterOSGIServicesExtensi
for (ServiceReference service : services) {
try {
final Class<?> clazz = serviceClass(service);
+ if (clazz == null) {
+ continue;
+ }
+
current.loadClass(clazz.getName());
abd.addBean(new OSGiServiceBean<Object>(service));
LOGGER.debug("added service {} as a CDI
Application scoped bean", clazz.getName());
@@ -65,8 +70,29 @@ public class RegisterOSGIServicesExtensi
}
}
- private static Class<Object> serviceClass(ServiceReference service) {
- return (Class<Object>)
service.getBundle().getBundleContext().getService(service).getClass();
+ private static Class<?> serviceClass(final ServiceReference service) {
+ final Bundle bundle = service.getBundle();
+ if (bundle == null) {
+ return null;
+ }
+
+ final BundleContext bundleContext = bundle.getBundleContext();
+ if (bundleContext == null) {
+ return null;
+ }
+
+ final Object instance;
+ try {
+ instance = bundleContext.getService(service);
+ } catch (RuntimeException re) {
+ return null;
+ }
+
+ if (instance == null) {
+ return null;
+ }
+
+ return instance.getClass();
}
public static class OSGiServiceBean<T> implements Bean<T> {
@@ -97,12 +123,12 @@ public class RegisterOSGIServicesExtensi
}
@Override
- public T create(CreationalContext<T> ctx) {
+ public T create(final CreationalContext<T> ctx) {
return (T)
service.getBundle().getBundleContext().getService(service);
}
@Override
- public void destroy(T instance, CreationalContext<T> ctx) {
+ public void destroy(final T instance, final CreationalContext<T> ctx) {
// no-op
}
Modified: openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml (original)
+++ openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml Tue Oct 16
13:18:05 2012
@@ -37,6 +37,7 @@
javax.management.loading,
org.apache.felix.gogo.commands;version="[0.10,1)",
org.apache.felix.gogo.commands.basic;version="[0.10,1)",
+
org.apache.felix.service.command;version="[0.10,1)";status=provisional;mandatory:=status,
org.osgi.service.blueprint;version="[1.0.0,2.0.0)",
org.apache.karaf.shell.console;version="[2.2,3)",
org.apache.karaf.shell.console.completer;version="[2.2,3)",
Modified: openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml (original)
+++ openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml Tue Oct 16 13:18:05
2012
@@ -36,19 +36,17 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.openengsb.labs.paxexam.karaf</groupId>
- <artifactId>paxexam-karaf-container</artifactId>
- <version>1.0.0</version>
+ <groupId>org.apache.karaf.tooling.exam</groupId>
+ <artifactId>org.apache.karaf.tooling.exam.container</artifactId>
+ <version>${karaf.version}</version>
<scope>test</scope>
</dependency>
- <!--
<dependency>
<groupId>org.apache.karaf.tooling.exam</groupId>
- <artifactId>org.apache.karaf.tooling.exam.container</artifactId>
- <version>3.0.1-SNAPSHOT</version>
- <scope>provided</scope>
+ <artifactId>org.apache.karaf.tooling.exam.options</artifactId>
+ <version>${karaf.version}</version>
+ <scope>test</scope>
</dependency>
- -->
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.console</artifactId>
Modified:
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
---
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
(original)
+++
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
Tue Oct 16 13:18:05 2012
@@ -22,22 +22,22 @@ import java.io.PrintStream;
import javax.inject.Inject;
import org.apache.felix.service.command.CommandProcessor;
import org.apache.felix.service.command.CommandSession;
+import
org.apache.karaf.tooling.exam.options.KarafDistributionConfigurationFilePutOption;
import org.apache.openejb.OpenEJB;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.util.NetworkUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
-import
org.openengsb.labs.paxexam.karaf.options.KarafDistributionConfigurationFilePutOption;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.TestProbeBuilder;
import org.ops4j.pax.exam.junit.Configuration;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.ops4j.pax.exam.junit.ProbeBuilder;
+import static
org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static
org.openengsb.labs.paxexam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
import static org.ops4j.pax.exam.CoreOptions.felix;
import static org.ops4j.pax.exam.CoreOptions.maven;
import static org.ops4j.pax.exam.CoreOptions.options;
Modified: openejb/trunk/openejb/osgi/pom.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/pom.xml (original)
+++ openejb/trunk/openejb/osgi/pom.xml Tue Oct 16 13:18:05 2012
@@ -40,7 +40,7 @@
</modules>
<properties>
- <karaf.version>2.2.9</karaf.version>
+ <karaf.version>2.3.0</karaf.version>
<karafee.version>1.5.1-SNAPSHOT</karafee.version>
</properties>
</project>