You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/10/05 15:01:23 UTC
svn commit: r1394493 - in /openejb/trunk/openejb/osgi:
apache-karafee/src/main/filtered-resources/etc/ openejb-core-osgi/
openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/
openejb-feature/src/main/feature/
Author: rmannibucau
Date: Fri Oct 5 13:01:22 2012
New Revision: 1394493
URL: http://svn.apache.org/viewvc?rev=1394493&view=rev
Log:
OPENEJB-1907 OPENEJB-1908 KarafEE import update + ability to reuse a transaction manager from OSGi registry
Modified:
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
openejb/trunk/openejb/osgi/openejb-core-osgi/pom.xml
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
openejb/trunk/openejb/osgi/openejb-feature/src/main/feature/feature.xml
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=1394493&r1=1394492&r2=1394493&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 Fri Oct 5 13:01:22 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,openejb-server
+featuresBoot=config,ssh,management,war,webconsole,transaction,openejb-server
Modified: openejb/trunk/openejb/osgi/openejb-core-osgi/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/pom.xml?rev=1394493&r1=1394492&r2=1394493&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-core-osgi/pom.xml (original)
+++ openejb/trunk/openejb/osgi/openejb-core-osgi/pom.xml Fri Oct 5 13:01:22 2012
@@ -33,18 +33,22 @@
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-core</artifactId>
<version>${project.version}</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.geronimo.components</groupId>
<artifactId>geronimo-transaction</artifactId>
+ <optional>true</optional>
</dependency>
</dependencies>
<build>
@@ -52,7 +56,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
- <version>1.5</version>
+ <version>2.0</version>
<executions>
<execution>
<phase>package</phase>
@@ -60,11 +64,16 @@
<goal>shade</goal>
</goals>
<configuration>
+ <artifactSet>
+ <includes>
+ <include>org.apache.openejb:openejb-core</include>
+ </includes>
+ </artifactSet>
<filters>
<filter>
<artifact>org.apache.openejb:openejb-core</artifact>
<includes>
- <include>**/**</include>
+ <include>**</include>
</includes>
<excludes>
<exclude>org/apache/openejb/client/**</exclude>
@@ -72,11 +81,6 @@
</excludes>
</filter>
</filters>
- <artifactSet>
- <includes>
- <include>org.apache.openejb:openejb-core</include>
- </includes>
- </artifactSet>
</configuration>
</execution>
</executions>
@@ -97,7 +101,7 @@
<Private-Package>${openejb.osgi.private.pkg}</Private-Package>
<Implementation-Title>Apache OpenEJB</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
- <Include-Resource>${pom.basedir}/src/main/resources</Include-Resource>
+ <Include-Resource>{maven-resources}</Include-Resource>
<_failok>true</_failok>
<_nouses>true</_nouses>
</instructions>
@@ -116,7 +120,7 @@
</build>
<properties>
- <openejb.osgi.import.pkg>
+ <openejb.osgi.import.pkg> <!-- don't add * in imports otherwise it will bring back ibm packages! -->
javax.annotation;version="[1.1.0,2.0.0)",
javax.annotation.security;version="[1.1.0,2.0.0)",
javax.annotation.sql;version="[1.1.0,2.0.0)",
@@ -205,6 +209,7 @@
org.apache.activemq.store.memory;resolution:=optional;version="[5.4,6)",
org.apache.bval.jsr303;resolution:=optional,
org.apache.bval.jsr303.resolver;resolution:=optional,
+ org.apache.bval.constraints;resolution:=optional,
org.apache.commons.beanutils,
org.apache.commons.cli;version="[1.2,2)",
org.apache.commons.dbcp;resolution:=optional;version="[1.4,2)",
@@ -217,8 +222,8 @@
org.apache.geronimo.connector.outbound.connectiontracking;version="[3.0,4)",
org.apache.geronimo.connector.work;version="[3.0,4)",
org.apache.geronimo.osgi.locator,
- org.apache.geronimo.transaction.log;version="[3.0,4)",
- org.apache.geronimo.transaction.manager;version="[3.0,4)",
+ org.apache.geronimo.transaction.log;version="[3.0,4)";resolution:=optional,,
+ org.apache.geronimo.transaction.manager;version="[2.0,4)",
org.apache.kahadb.util;resolution:=optional;version="[5.4,6)",
org.apache.log4j;resolution:=optional,
org.apache.openejb.api;version="[4.0,5)",
@@ -243,38 +248,67 @@
org.apache.webbeans.annotation;version="[1.1,2)",
org.apache.webbeans.component;version="[1.1,2)",
org.apache.webbeans.component.creation;version="[1.1,2)",
+ org.apache.webbeans.component.third;version="[1.1,2)",
org.apache.webbeans.config;version="[1.1,2)",
org.apache.webbeans.container;version="[1.1,2)",
org.apache.webbeans.context;version="[1.1,2)",
org.apache.webbeans.context.creational;version="[1.1,2)",
org.apache.webbeans.conversation;version="[1.1,2)",
+ org.apache.webbeans.corespi;version="[1.1,2)",
+ org.apache.webbeans.corespi.scanner;version="[1.1,2)",
+ org.apache.webbeans.corespi.se;version="[1.1,2)",
+ org.apache.webbeans.corespi.security;version="[1.1,2)",
org.apache.webbeans.decorator;version="[1.1,2)",
org.apache.webbeans.deployment;version="[1.1,2)",
org.apache.webbeans.deployment.stereotype;version="[1.1,2)",
+ org.apache.webbeans.ee.common.beans;version="[1.1,2)",
+ org.apache.webbeans.ee.common.services;version="[1.1,2)",
+ org.apache.webbeans.ee.beans;version="[1.1,2)",
org.apache.webbeans.ee.event;version="[1.1,2)",
org.apache.webbeans.ejb.common.component;version="[1.0,2)",
+ org.apache.webbeans.ejb.common.interceptor;version="[1.0,2)",
+ org.apache.webbeans.ejb.common.proxy;version="[1.0,2)",
org.apache.webbeans.ejb.common.util;version="[1.0,2)",
+ org.apache.webbeans.ejb.plugin;version="[1.0,2)",
org.apache.webbeans.el;version="[1.1,2)",
+ org.apache.webbeans.el.el22;version="[1.1,2)",
+ org.apache.webbeans.event;version="[1.1,2)",
org.apache.webbeans.exception;version="[1.1,2)",
+ org.apache.webbeans.exception.definition;version="[1.1,2)",
+ org.apache.webbeans.exception.helper;version="[1.1,2)",
org.apache.webbeans.exception.inject;version="[1.1,2)",
org.apache.webbeans.inject;version="[1.1,2)",
+ org.apache.webbeans.inject.impl;version="[1.1,2)",
+ org.apache.webbeans.inject.instance;version="[1.1,2)",
org.apache.webbeans.intercept;version="[1.1,2)",
+ org.apache.webbeans.intercept.custom;version="[1.1,2)",
+ org.apache.webbeans.intercept.ejb;version="[1.1,2)",
org.apache.webbeans.intercept.webbeans;version="[1.1,2)",
org.apache.webbeans.jms;version="[1.1,2)",
+ org.apache.webbeans.lifecycle;version="[1.1,2)",
org.apache.webbeans.logger;version="[1.1,2)",
org.apache.webbeans.plugins;version="[1.1,2)",
org.apache.webbeans.portable;version="[1.1,2)",
+ org.apache.webbeans.portable.creation;version="[1.1,2)",
org.apache.webbeans.portable.events;version="[1.1,2)",
org.apache.webbeans.portable.events.discovery;version="[1.1,2)",
org.apache.webbeans.portable.events.generics;version="[1.1,2)",
org.apache.webbeans.proxy;version="[1.1,2)",
+ org.apache.webbeans.proxy.asm;version="[1.1,2)",
+ org.apache.webbeans.proxy.javassist;version="[1.1,2)",
org.apache.webbeans.service;version="[1.1,2)",
+ org.apache.webbeans.servlet;version="[1.1,2)",
org.apache.webbeans.spi;version="[1.1,2)",
org.apache.webbeans.spi.adaptor;version="[1.1,2)",
org.apache.webbeans.spi.api;version="[1.1,2)",
org.apache.webbeans.spi.plugins;version="[1.1,2)",
org.apache.webbeans.util;version="[1.1,2)",
org.apache.webbeans.web.context;version="[1.1,2)",
+ org.apache.webbeans.web.failover;version="[1.1,2)",
+ org.apache.webbeans.web.intercept;version="[1.1,2)",
+ org.apache.webbeans.web.lifecycle;version="[1.1,2)",
+ org.apache.webbeans.web.scanner;version="[1.1,2)",
+ org.apache.webbeans.web.util;version="[1.1,2)",
org.apache.webbeans.xml;version="[1.1,2)",
org.apache.xbean.asm;version="[3.1,4)",
org.apache.xbean.asm.commons;version="[3.1,4)",
@@ -299,25 +333,30 @@
org.xml.sax,
org.xml.sax.helpers,
org.osgi.service.packageadmin,
- org.osgi.framework;version="[1.4,1.6)",
- org.osgi.util.tracker;version="[1.4,1.6)",
- javassist.util.proxy;version="[3.9,4)"
+ org.osgi.framework;version="[1.4,2)",
+ org.osgi.util.tracker;version="[1.4,2)",
+ javassist.util.proxy;version="[3.9,4)",
+ org.osgi.service.blueprint;resolution:=optional
</openejb.osgi.import.pkg>
<openejb.osgi.export>
'=META-INF.org^.apache^.openejb',
org.apache.openejb;version=${openejb.osgi.export.version},
org.apache.openejb.api.internal;version=${openejb.osgi.export.version},
+ org.apache.openejb.async;version=${openejb.osgi.export.version},
org.apache.openejb.assembler;version=${openejb.osgi.export.version},
org.apache.openejb.assembler.classic;version=${openejb.osgi.export.version},
org.apache.openejb.assembler.classic.cmd;version=${openejb.osgi.export.version},
org.apache.openejb.assembler.dynamic;version=${openejb.osgi.export.version},
org.apache.openejb.assembler.bval;version=${openejb.osgi.export.version},
+ org.apache.openejb.assembler.monitoring;version=${openejb.osgi.export.version},
+ org.apache.openejb.bval;version=${openejb.osgi.export.version},
org.apache.openejb.cdi;version=${openejb.osgi.export.version},
org.apache.openejb.cli;version=${openejb.osgi.export.version},
org.apache.openejb.config;version=${openejb.osgi.export.version},
org.apache.openejb.config.rules;version=${openejb.osgi.export.version},
org.apache.openejb.config.sys;version=${openejb.osgi.export.version},
org.apache.openejb.core;version=${openejb.osgi.export.version},
+ org.apache.openejb.assembler.classic.event;version=${openejb.osgi.export.version},
org.apache.openejb.core.asynch;version=${openejb.osgi.export.version},
org.apache.openejb.core.cmp;version=${openejb.osgi.export.version},
org.apache.openejb.core.cmp.cmp2;version=${openejb.osgi.export.version},
@@ -370,6 +409,6 @@
org.apache.openejb.core.osgi.*;version=${openejb.osgi.export.version}
</openejb.osgi.export>
<openejb.bundle.activator>org.apache.openejb.core.osgi.impl.Activator</openejb.bundle.activator>
- <openejb.osgi.dynamic.import.pkg>*</openejb.osgi.dynamic.import.pkg>
+ <!--<openejb.osgi.dynamic.import.pkg>*</openejb.osgi.dynamic.import.pkg>-->
</properties>
</project>
Modified: openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java?rev=1394493&r1=1394492&r2=1394493&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java (original)
+++ openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java Fri Oct 5 13:01:22 2012
@@ -19,15 +19,16 @@ package org.apache.openejb.core.osgi.imp
import org.apache.openejb.OpenEJB;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.cdi.CdiScanner;
-import org.apache.openejb.config.EjbModule;
import org.apache.openejb.loader.OpenEJBInstance;
import org.apache.openejb.loader.SystemInstance;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
import org.osgi.util.tracker.ServiceTracker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.transaction.TransactionManager;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Properties;
@@ -40,6 +41,8 @@ public class Activator implements Bundle
private static final String SERVICE_MANAGER_NAME = "org.apache.openejb.server.ServiceManager";
private static final long TRACKER_TIMEOUT = SystemInstance.get().getOptions().get("openejb.osgi.tracker.timeout", 30);
+ public static final String OPENEJB_OSGI_NATIVE_TRANSACTION_MANAGER = "openejb.osgi.native-transaction-manager";
+
private OpenEJBInstance openejb;
private Object serviceManager;
@@ -63,6 +66,19 @@ public class Activator implements Bundle
SystemInstance.init(env);
// OptionsLog.install();
+ if (!SystemInstance.get().getOptions().get(OPENEJB_OSGI_NATIVE_TRANSACTION_MANAGER, false)) {
+ final ServiceReference sr = context.getServiceReference(TransactionManager.class.getName());
+ if (sr != null) {
+ final TransactionManager txMgr = (TransactionManager) context.getService(sr);
+ if (txMgr != null) {
+ SystemInstance.get().setComponent(TransactionManager.class, txMgr);
+ } else {
+ LOGGER.info("Using standard OpenEJB Transaction Manager (but found a service reference on an OSGi one)");
+ }
+ } else {
+ LOGGER.info("Using standard OpenEJB Transaction Manager");
+ }
+ }
try {
openejb.init(env);
Modified: openejb/trunk/openejb/osgi/openejb-feature/src/main/feature/feature.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-feature/src/main/feature/feature.xml?rev=1394493&r1=1394492&r2=1394493&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-feature/src/main/feature/feature.xml (original)
+++ openejb/trunk/openejb/osgi/openejb-feature/src/main/feature/feature.xml Fri Oct 5 13:01:22 2012
@@ -84,6 +84,11 @@
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.wsdl4j/1.6.2_5</bundle>
<bundle>mvn:org.apache.geronimo.components/geronimo-connector/${geronimo.connector.version}</bundle>
+
+ <!--
+ TODO: when aries will be updated and export all geronimo packages (log) simply comment it
+ since we'll use aries tx mgr (same as G one but Karaf friendly)
+ -->
<bundle>mvn:org.apache.geronimo.components/geronimo-transaction/${geronimo.connector.version}</bundle>
<bundle>mvn:org.apache.geronimo.specs/geronimo-javamail_1.4_spec/${geronimo-javamail_1.4_spec.version}</bundle>