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 2011/12/06 12:00:43 UTC

svn commit: r1210859 - in /openejb/trunk/openejb: ./ container/openejb-core/ container/openejb-osgi/ container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/ server/openejb-server/

Author: rmannibucau
Date: Tue Dec  6 11:00:42 2011
New Revision: 1210859

URL: http://svn.apache.org/viewvc?rev=1210859&view=rev
Log:
merging patch from Charles with some update to get openejb server works in OSGi

Modified:
    openejb/trunk/openejb/container/openejb-core/pom.xml
    openejb/trunk/openejb/container/openejb-osgi/pom.xml
    openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
    openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
    openejb/trunk/openejb/pom.xml
    openejb/trunk/openejb/server/openejb-server/pom.xml

Modified: openejb/trunk/openejb/container/openejb-core/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/pom.xml?rev=1210859&r1=1210858&r2=1210859&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/pom.xml (original)
+++ openejb/trunk/openejb/container/openejb-core/pom.xml Tue Dec  6 11:00:42 2011
@@ -20,7 +20,8 @@
 
 <!-- $Rev$ $Date$ -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.openejb</groupId>
@@ -32,604 +33,607 @@
   <name>OpenEJB :: Container :: Core</name>
   <properties>
     <openejb.osgi.import.pkg>
-        javassist.util.proxy,
-        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)",
-        javax.crypto,
-        javax.crypto.spec,
-        javax.decorator,
-        javax.ejb;version=3.1,
-        javax.ejb.embeddable;version=3.1,
-        javax.ejb.spi;version=3.1,
-        javax.el,
-        javax.enterprise.context,
-        javax.enterprise.context.spi,
-        javax.enterprise.deploy.model;resolution:=optional,
-        javax.enterprise.deploy.shared;resolution:=optional,
-        javax.enterprise.deploy.spi;resolution:=optional,
-        javax.enterprise.deploy.spi.exceptions;resolution:=optional,
-        javax.enterprise.deploy.spi.factories;resolution:=optional,
-        javax.enterprise.deploy.spi.status;resolution:=optional,
-        javax.enterprise.event,
-        javax.enterprise.inject,
-        javax.enterprise.inject.spi,
-        javax.inject,
-        javax.interceptor,
-        javax.jms;resolution:=optional,
-        javax.jws,
-        javax.mail;resolution:=optional;version="[1.4,2)",
-        javax.management,
-        javax.management.j2ee,
-        javax.management.loading,
-        javax.management.openmbean,
-        javax.naming,
-        javax.naming.spi,
-        javax.persistence,
-        javax.persistence.criteria,
-        javax.persistence.metamodel,
-        javax.persistence.spi,
-        javax.resource,
-        javax.resource.spi,
-        javax.resource.spi.endpoint,
-        javax.resource.spi.work,
-        javax.security.auth,
-        javax.security.auth.callback,
-        javax.security.auth.login,
-        javax.security.auth.message.callback,
-        javax.security.auth.spi,
-        javax.security.jacc,
-        javax.servlet,
-        javax.servlet.http,
-        javax.servlet.jsp,
-        javax.sql,
-        javax.transaction;version="[1.1.0,2.0.0)",
-        javax.transaction.xa;version="[1.1.0,2.0.0)",
-        javax.validation,
-        javax.validation.bootstrap,
-        javax.ws.rs,
-        javax.ws.rs.core,
-        javax.ws.rs.ext,
-        javax.wsdl,
-        javax.wsdl.extensions.http,
-        javax.wsdl.extensions.soap,
-        javax.wsdl.factory,
-        javax.wsdl.xml,
-        javax.xml.bind,
-        javax.xml.bind.annotation,
-        javax.xml.bind.annotation.adapters,
-        javax.xml.datatype,
-        javax.xml.namespace,
-        javax.xml.parsers,
-        javax.xml.registry;resolution:=optional,
-        javax.xml.rpc;resolution:=optional,
-        javax.xml.rpc.handler;resolution:=optional,
-        javax.xml.transform,
-        javax.xml.transform.sax,
-        javax.xml.transform.stream,
-        javax.xml.validation,
-        javax.xml.ws,
-        javax.xml.ws.handler,
-        javax.xml.ws.soap,
-        javax.xml.ws.spi,
-        javax.xml.ws.wsaddressing,
-        org.apache.activemq.broker;resolution:=optional;version="[5.4,6)",
-        org.apache.activemq.ra;resolution:=optional;version="[5.4,6)",
-        org.apache.activemq.store;resolution:=optional;version="[5.4,6)",
-        org.apache.activemq.store.jdbc;resolution:=optional;version="[5.4,6)",
-        org.apache.activemq.store.memory;resolution:=optional;version="[5.4,6)",
-        org.apache.bval.jsr303.resolver,
-        org.apache.commons.beanutils,
-        org.apache.commons.cli;version="[1.2,2)",
-        org.apache.commons.dbcp;resolution:=optional;version="[1.4,2)",
-        org.apache.commons.dbcp.managed;resolution:=optional;version="[1.4,2)",
-        org.apache.commons.lang;version="[2.6,3)",
-        org.apache.commons.lang.math;version="[2.6,3)",
-        org.apache.geronimo.connector;version="[3.0,4)",
-        org.apache.geronimo.connector.outbound;version="[3.0,4)",
-        org.apache.geronimo.connector.outbound.connectionmanagerconfig;version="[3.0,4)",
-        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.kahadb.util;resolution:=optional;version="[5.4,6)",
-        org.apache.log4j;resolution:=optional,
-        org.apache.openejb.api;version="[4.0,5)",
-        org.apache.openejb.jee;version="[4.0,5)",
-        org.apache.openejb.jee.bval;version="[4.0,5)",
-        org.apache.openejb.jee.jpa;version="[4.0,5)",
-        org.apache.openejb.jee.oejb2;version="[4.0,5)",
-        org.apache.openejb.jee.oejb3;version="[4.0,5)",
-        org.apache.openejb.jee.sun;resolution:=optional;version="[4.0,5)",
-        org.apache.openejb.jee.wls;version="[4.0,5)",
-        org.apache.openejb.loader;version="[4.0,5)",
-        org.apache.openjpa.event;resolution:=optional;version="[2.1,3)",
-        org.apache.openjpa.persistence;resolution:=optional;version="[2.1,3)",
-        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.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.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.event;version="[1.1,2)",
-        org.apache.webbeans.ejb.common.component;version="[1.1,2)",
-        org.apache.webbeans.ejb.common.util;version="[1.1,2)",
-        org.apache.webbeans.el;version="[1.1,2)",
-        org.apache.webbeans.exception;version="[1.1,2)",
-        org.apache.webbeans.exception.inject;version="[1.1,2)",
-        org.apache.webbeans.inject;version="[1.1,2)",
-        org.apache.webbeans.intercept;version="[1.1,2)",
-        org.apache.webbeans.intercept.webbeans;version="[1.1,2)",
-        org.apache.webbeans.jms;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.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.service;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.xml;version="[1.1,2)",
-        org.apache.xbean.asm;version="[3.1,4)",
-        org.apache.xbean.asm.commons;version="[3.1,4)",
-        org.apache.xbean.finder;version="[3.8,4)",
-        org.apache.xbean.finder.archive;version="[3.8,4)",
-        org.apache.xbean.finder.filter;version="[3.8,4)",
-        org.apache.xbean.naming.context;version="[3.8,4)",
-        org.apache.xbean.naming.reference;version="[3.8,4)",
-        org.apache.xbean.propertyeditor;version="[3.8,4)",
-        org.apache.xbean.recipe;version="[3.8,4)",
-        org.hsqldb.jdbc;resolution:=optional,
-        org.junit.rules;resolution:=optional,
-        org.junit.runners;resolution:=optional,
-        org.junit.runners.model;resolution:=optional,
-        org.omg.CORBA,
-        org.osgi.framework,
-        org.quartz;resolution:=optional,
-        org.quartz.impl;resolution:=optional,
-        org.quartz.spi;resolution:=optional,
-        org.slf4j;resolution:=optional;version="[1.6,2)",
-        org.w3c.dom,
-        org.w3c.dom.ls,
-        org.xml.sax,
-        org.xml.sax.helpers
+      javassist.util.proxy,
+      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)",
+      javax.crypto,
+      javax.crypto.spec,
+      javax.decorator,
+      javax.ejb;version=3.1,
+      javax.ejb.embeddable;version=3.1,
+      javax.ejb.spi;version=3.1,
+      javax.el,
+      javax.enterprise.context,
+      javax.enterprise.context.spi,
+      javax.enterprise.deploy.model;resolution:=optional,
+      javax.enterprise.deploy.shared;resolution:=optional,
+      javax.enterprise.deploy.spi;resolution:=optional,
+      javax.enterprise.deploy.spi.exceptions;resolution:=optional,
+      javax.enterprise.deploy.spi.factories;resolution:=optional,
+      javax.enterprise.deploy.spi.status;resolution:=optional,
+      javax.enterprise.event,
+      javax.enterprise.inject,
+      javax.enterprise.inject.spi,
+      javax.inject,
+      javax.interceptor,
+      javax.jms;resolution:=optional,
+      javax.jws,
+      javax.mail;resolution:=optional;version="[1.4,2)",
+      javax.management,
+      javax.management.j2ee,
+      javax.management.loading,
+      javax.management.openmbean,
+      javax.naming,
+      javax.naming.spi,
+      javax.persistence,
+      javax.persistence.criteria,
+      javax.persistence.metamodel,
+      javax.persistence.spi,
+      javax.resource,
+      javax.resource.spi,
+      javax.resource.spi.endpoint,
+      javax.resource.spi.work,
+      javax.security.auth,
+      javax.security.auth.callback,
+      javax.security.auth.login,
+      javax.security.auth.message.callback,
+      javax.security.auth.spi,
+      javax.security.jacc,
+      javax.servlet,
+      javax.servlet.http,
+      javax.servlet.jsp,
+      javax.sql,
+      javax.transaction;version="[1.1.0,2.0.0)",
+      javax.transaction.xa;version="[1.1.0,2.0.0)",
+      javax.validation,
+      javax.validation.bootstrap,
+      javax.ws.rs,
+      javax.ws.rs.core,
+      javax.ws.rs.ext,
+      javax.wsdl,
+      javax.wsdl.extensions.http,
+      javax.wsdl.extensions.soap,
+      javax.wsdl.factory,
+      javax.wsdl.xml,
+      javax.xml.bind,
+      javax.xml.bind.annotation,
+      javax.xml.bind.annotation.adapters,
+      javax.xml.datatype,
+      javax.xml.namespace,
+      javax.xml.parsers,
+      javax.xml.registry;resolution:=optional,
+      javax.xml.rpc;resolution:=optional,
+      javax.xml.rpc.handler;resolution:=optional,
+      javax.xml.transform,
+      javax.xml.transform.sax,
+      javax.xml.transform.stream,
+      javax.xml.validation,
+      javax.xml.ws,
+      javax.xml.ws.handler,
+      javax.xml.ws.soap,
+      javax.xml.ws.spi,
+      javax.xml.ws.wsaddressing,
+      org.apache.activemq.broker;resolution:=optional;version="[5.4,6)",
+      org.apache.activemq.ra;resolution:=optional;version="[5.4,6)",
+      org.apache.activemq.store;resolution:=optional;version="[5.4,6)",
+      org.apache.activemq.store.jdbc;resolution:=optional;version="[5.4,6)",
+      org.apache.activemq.store.memory;resolution:=optional;version="[5.4,6)",
+      org.apache.bval.jsr303.resolver,
+      org.apache.commons.beanutils,
+      org.apache.commons.cli;version="[1.2,2)",
+      org.apache.commons.dbcp;resolution:=optional;version="[1.4,2)",
+      org.apache.commons.dbcp.managed;resolution:=optional;version="[1.4,2)",
+      org.apache.commons.lang;version="[2.6,3)",
+      org.apache.commons.lang.math;version="[2.6,3)",
+      org.apache.geronimo.connector;version="[3.0,4)",
+      org.apache.geronimo.connector.outbound;version="[3.0,4)",
+      org.apache.geronimo.connector.outbound.connectionmanagerconfig;version="[3.0,4)",
+      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.kahadb.util;resolution:=optional;version="[5.4,6)",
+      org.apache.log4j;resolution:=optional,
+      org.apache.openejb.api;version="[4.0,5)",
+      org.apache.openejb.jee;version="[4.0,5)",
+      org.apache.openejb.jee.bval;version="[4.0,5)",
+      org.apache.openejb.jee.jpa;version="[4.0,5)",
+      org.apache.openejb.jee.oejb2;version="[4.0,5)",
+      org.apache.openejb.jee.oejb3;version="[4.0,5)",
+      org.apache.openejb.jee.sun;resolution:=optional;version="[4.0,5)",
+      org.apache.openejb.jee.wls;version="[4.0,5)",
+      org.apache.openejb.loader;version="[4.0,5)",
+      org.apache.openjpa.event;resolution:=optional;version="[2.1,3)",
+      org.apache.openjpa.persistence;resolution:=optional;version="[2.1,3)",
+      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.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.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.event;version="[1.1,2)",
+      org.apache.webbeans.ejb.common.component;version="[1.1,2)",
+      org.apache.webbeans.ejb.common.util;version="[1.1,2)",
+      org.apache.webbeans.el;version="[1.1,2)",
+      org.apache.webbeans.exception;version="[1.1,2)",
+      org.apache.webbeans.exception.inject;version="[1.1,2)",
+      org.apache.webbeans.inject;version="[1.1,2)",
+      org.apache.webbeans.intercept;version="[1.1,2)",
+      org.apache.webbeans.intercept.webbeans;version="[1.1,2)",
+      org.apache.webbeans.jms;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.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.service;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.xml;version="[1.1,2)",
+      org.apache.xbean.asm;version="[3.1,4)",
+      org.apache.xbean.asm.commons;version="[3.1,4)",
+      org.apache.xbean.finder;version="[3.8,4)",
+      org.apache.xbean.finder.archive;version="[3.8,4)",
+      org.apache.xbean.finder.filter;version="[3.8,4)",
+      org.apache.xbean.naming.context;version="[3.8,4)",
+      org.apache.xbean.naming.reference;version="[3.8,4)",
+      org.apache.xbean.propertyeditor;version="[3.8,4)",
+      org.apache.xbean.recipe;version="[3.8,4)",
+      org.hsqldb.jdbc;resolution:=optional,
+      org.junit.rules;resolution:=optional,
+      org.junit.runners;resolution:=optional,
+      org.junit.runners.model;resolution:=optional,
+      org.omg.CORBA,
+      org.osgi.framework,
+      org.quartz;resolution:=optional,
+      org.quartz.impl;resolution:=optional,
+      org.quartz.spi;resolution:=optional,
+      org.slf4j;resolution:=optional;version="[1.6,2)",
+      org.w3c.dom,
+      org.w3c.dom.ls,
+      org.xml.sax,
+      org.xml.sax.helpers
     </openejb.osgi.import.pkg>
     <openejb.osgi.export>
       org.apache.openejb.cdi.*;version=${openejb.osgi.export.version},
       org.apache.openejb*;version=${openejb.osgi.export.version}
       org.apache.openejb;version=${openejb.osgi.export.version}
     </openejb.osgi.export>
+    <openejb.osgi.require>
+      org.apache.openejb.client;bundle-version="[4.0,5.0)";resolution:=optional
+    </openejb.osgi.require>
   </properties>
   <build>
-          <resources>
-              <resource>
-                  <directory>src/main/resources</directory>
-                  <filtering>true</filtering>
-              </resource>
-          </resources>
-          <testResources>
-              <testResource>
-                  <directory>src/test/resources</directory>
-                  <filtering>true</filtering>
-              </testResource>
-          </testResources>
-          <plugins>
-              <plugin>
-                  <groupId>org.apache.maven.plugins</groupId>
-                  <artifactId>maven-compiler-plugin</artifactId>
-                  <version>2.3.2</version>
-                  <configuration>
-                      <source>1.6</source>
-                      <target>1.6</target>
-                      <compilerArguments>
-                          <endorseddirs>${openejb.build.endorsed}</endorseddirs>
-                      </compilerArguments>
-                  </configuration>
-              </plugin>
-              <plugin>
-                  <groupId>org.apache.maven.plugins</groupId>
-                  <artifactId>maven-dependency-plugin</artifactId>
-                  <executions>
-                      <execution>
-                          <id>copy</id>
-                          <phase>process-resources</phase>
-                          <goals>
-                              <goal>copy</goal>
-                          </goals>
-                          <configuration>
-                              <artifactItems>
-                                  <artifactItem>
-                                      <groupId>org.apache.openejb</groupId>
-                                      <artifactId>openejb-javaagent</artifactId>
-                                      <version>${project.version}</version>
-                                      <outputDirectory>${project.build.directory}</outputDirectory>
-                                  </artifactItem>
-                              </artifactItems>
-                          </configuration>
-                      </execution>
-                  </executions>
-              </plugin>
-              <plugin>
-                  <groupId>org.apache.maven.plugins</groupId>
-                  <artifactId>maven-surefire-plugin</artifactId>
-                  <configuration>
-                      <forkMode>pertest</forkMode>
-                      <testNGArtifactName>none:none</testNGArtifactName>
-                      <argLine>-Xmx256m -Djava.endorsed.dirs=${openejb.build.endorsed} -Dopenejb.descriptors.output.folder=./dump/
-                          "-javaagent:${basedir}/target/openejb-javaagent-${project.version}.jar" -enableassertions
-                      </argLine>
-                      <workingDirectory>${basedir}/target</workingDirectory>
-                      <systemPropertyVariables>
-                          <openejb.home>${basedir}/target/test-classes</openejb.home>
-                          <log4j.configuration>file:///${basedir}/target/classes/embedded.logging.properties
-                          </log4j.configuration>
-                      </systemPropertyVariables>
-                      <excludes>
-                          <exclude>**/TestHandler.java</exclude>
-                          <exclude>org/apache/openejb/cdi/**</exclude>
-                      </excludes>
-                  </configuration>
-                  <executions>
-                      <execution>
-                          <id>test-testng</id>
-                          <phase>test</phase>
-                          <goals>
-                              <goal>test</goal>
-                          </goals>
-                          <configuration>
-                              <junitArtifactName>none:none</junitArtifactName>
-                              <excludes>
-                                  <exclude>**</exclude>
-                              </excludes>
-                              <includes>
-                                  <include>org/apache/openejb/cdi/**</include>
-                              </includes>
-                          </configuration>
-                      </execution>
-                  </executions>
-              </plugin>
-              <plugin>
-                  <groupId>org.apache.maven.plugins</groupId>
-                  <artifactId>maven-antrun-plugin</artifactId>
-                  <executions>
-                      <execution>
-                          <phase>process-classes</phase>
-                          <goals>
-                              <goal>run</goal>
-                          </goals>
-                          <configuration>
-                              <target>
-                                  <tstamp>
-                                      <format property="TSTAMP" pattern="hh:mm"/>
-                                  </tstamp>
-                                  <replace file="target/classes/openejb-version.properties"
-                                           token="@DATE-REPLACED-BY-MAVEN@" value="${DSTAMP}"/>
-                                  <replace file="target/classes/openejb-version.properties"
-                                           token="@TIME-REPLACED-BY-MAVEN@" value="${TSTAMP}"/>
-                                  <property name="compile_classpath" refid="maven.compile.classpath"/>
-                                  <java classname="org.apache.openejb.util.MakeTxLookup">
-                                      <arg value="${project.build.directory}"/>
-                                      <classpath>
-                                          <pathelement path="${compile_classpath}"/>
-                                      </classpath>
-                                  </java>
-                              </target>
-                          </configuration>
-                      </execution>
-                  </executions>
-              </plugin>
-              <plugin>
-                  <groupId>org.apache.maven.plugins</groupId>
-                  <artifactId>maven-jar-plugin</artifactId>
-                  <configuration>
-                      <archive>
-                          <manifest>
-                              <mainClass>org.apache.openejb.cli.Bootstrap</mainClass>
-                              <!--<addClasspath>true</addClasspath>-->
-                          </manifest>
-                          <manifestEntries>
-                              <Class-Path>openejb-loader-${project.version}.jar openejb-client-${project.version}.jar
-                                  xbean-finder-shaded-${xbeanVersion}.jar xbean-asm-shaded-${xbeanVersion}.jar
-                              </Class-Path>
-                              <J2EE-DeploymentFactory-Implementation-Class>
-                                  org.apache.openejb.config.VmDeploymentFactory
-                              </J2EE-DeploymentFactory-Implementation-Class>
-                          </manifestEntries>
-                      </archive>
-                  </configuration>
-              </plugin>
-              <plugin>
-                  <groupId>org.codehaus.mojo</groupId>
-                  <artifactId>rat-maven-plugin</artifactId>
-                  <configuration>
-                      <excludes>
-                          <exclude>src/main/resources/META-INF/org.apache.openejb.cli/validate.examples</exclude>
-                          <exclude>src/main/resources/META-INF/org.apache.openejb.cli/validate.help</exclude>
-                          <exclude>src/main/resources/META-INF/org.apache.openejb.resource.jdbc.DataSourcePlugin/*
-                          </exclude>
-                          <exclude>src/main/resources/META-INF/services/org/apache/activemq/broker/openejb</exclude>
-                      </excludes>
-                  </configuration>
-              </plugin>
-          </plugins>
-      </build>
-      <dependencies>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>mbean-annotation-api</artifactId>
-              <version>4.0.0-beta-2-SNAPSHOT</version>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>javaee-api</artifactId>
-          </dependency>
-          <!-- required for endorsed dir support -->
-          <dependency>
-              <groupId>org.apache.geronimo.specs</groupId>
-              <artifactId>geronimo-annotation_1.1_spec</artifactId>
-              <version>1.0.1</version>
-              <scope>provided</scope>
-          </dependency>
-          <dependency>
-              <groupId>log4j</groupId>
-              <artifactId>log4j</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>commons-lang</groupId>
-              <artifactId>commons-lang</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-api</artifactId>
-              <version>${project.version}</version>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-loader</artifactId>
-              <version>${project.version}</version>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-javaagent</artifactId>
-              <version>${project.version}</version>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-jee</artifactId>
-              <version>${project.version}</version>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-itests-app</artifactId>
-              <version>${project.version}</version>
-              <scope>test</scope>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-itests-beans</artifactId>
-              <version>${project.version}</version>
-              <scope>test</scope>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-itests-interceptor-beans</artifactId>
-              <version>${project.version}</version>
-              <scope>test</scope>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openejb</groupId>
-              <artifactId>openejb-itests-client</artifactId>
-              <version>${project.version}</version>
-              <scope>test</scope>
-          </dependency>
-          <dependency>
-              <groupId>commons-cli</groupId>
-              <artifactId>commons-cli</artifactId>
-          </dependency>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+      </testResource>
+    </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.3.2</version>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+          <compilerArguments>
+            <endorseddirs>${openejb.build.endorsed}</endorseddirs>
+          </compilerArguments>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>copy</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.openejb</groupId>
+                  <artifactId>openejb-javaagent</artifactId>
+                  <version>${project.version}</version>
+                  <outputDirectory>${project.build.directory}</outputDirectory>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <forkMode>pertest</forkMode>
+          <testNGArtifactName>none:none</testNGArtifactName>
+          <argLine>-Xmx256m -Djava.endorsed.dirs=${openejb.build.endorsed} -Dopenejb.descriptors.output.folder=./dump/
+            "-javaagent:${basedir}/target/openejb-javaagent-${project.version}.jar" -enableassertions
+          </argLine>
+          <workingDirectory>${basedir}/target</workingDirectory>
+          <systemPropertyVariables>
+            <openejb.home>${basedir}/target/test-classes</openejb.home>
+            <log4j.configuration>file:///${basedir}/target/classes/embedded.logging.properties
+            </log4j.configuration>
+          </systemPropertyVariables>
+          <excludes>
+            <exclude>**/TestHandler.java</exclude>
+            <exclude>org/apache/openejb/cdi/**</exclude>
+          </excludes>
+        </configuration>
+        <executions>
+          <execution>
+            <id>test-testng</id>
+            <phase>test</phase>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <junitArtifactName>none:none</junitArtifactName>
+              <excludes>
+                <exclude>**</exclude>
+              </excludes>
+              <includes>
+                <include>org/apache/openejb/cdi/**</include>
+              </includes>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <target>
+                <tstamp>
+                  <format property="TSTAMP" pattern="hh:mm"/>
+                </tstamp>
+                <replace file="target/classes/openejb-version.properties"
+                         token="@DATE-REPLACED-BY-MAVEN@" value="${DSTAMP}"/>
+                <replace file="target/classes/openejb-version.properties"
+                         token="@TIME-REPLACED-BY-MAVEN@" value="${TSTAMP}"/>
+                <property name="compile_classpath" refid="maven.compile.classpath"/>
+                <java classname="org.apache.openejb.util.MakeTxLookup">
+                  <arg value="${project.build.directory}"/>
+                  <classpath>
+                    <pathelement path="${compile_classpath}"/>
+                  </classpath>
+                </java>
+              </target>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <mainClass>org.apache.openejb.cli.Bootstrap</mainClass>
+              <!--<addClasspath>true</addClasspath>-->
+            </manifest>
+            <manifestEntries>
+              <Class-Path>openejb-loader-${project.version}.jar openejb-client-${project.version}.jar
+                xbean-finder-shaded-${xbeanVersion}.jar xbean-asm-shaded-${xbeanVersion}.jar
+              </Class-Path>
+              <J2EE-DeploymentFactory-Implementation-Class>
+                org.apache.openejb.config.VmDeploymentFactory
+              </J2EE-DeploymentFactory-Implementation-Class>
+            </manifestEntries>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>rat-maven-plugin</artifactId>
+        <configuration>
+          <excludes>
+            <exclude>src/main/resources/META-INF/org.apache.openejb.cli/validate.examples</exclude>
+            <exclude>src/main/resources/META-INF/org.apache.openejb.cli/validate.help</exclude>
+            <exclude>src/main/resources/META-INF/org.apache.openejb.resource.jdbc.DataSourcePlugin/*
+            </exclude>
+            <exclude>src/main/resources/META-INF/services/org/apache/activemq/broker/openejb</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>mbean-annotation-api</artifactId>
+      <version>4.0.0-beta-2-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>javaee-api</artifactId>
+    </dependency>
+    <!-- required for endorsed dir support -->
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-annotation_1.1_spec</artifactId>
+      <version>1.0.1</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-loader</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-javaagent</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-jee</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-itests-app</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-itests-beans</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-itests-interceptor-beans</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-itests-client</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+    </dependency>
 
-          <!-- ActiveMQ -->
-          <dependency>
-              <groupId>org.apache.activemq</groupId>
-              <artifactId>activemq-ra</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.activemq</groupId>
-              <artifactId>activemq-core</artifactId>
-              <exclusions>
-                  <exclusion>
-                      <artifactId>jasypt</artifactId>
-                      <groupId>org.jasypt</groupId>
-                  </exclusion>
-                  <exclusion>
-                      <groupId>org.springframework</groupId>
-                      <artifactId>spring-context</artifactId>
-                  </exclusion>
-                  <exclusion>
-                      <groupId>org.osgi</groupId>
-                      <artifactId>org.osgi.core</artifactId>
-                  </exclusion>
-              </exclusions>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.geronimo.components</groupId>
-              <artifactId>geronimo-connector</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.geronimo.components</groupId>
-              <artifactId>geronimo-transaction</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.objectweb.howl</groupId>
-              <artifactId>howl</artifactId>
-          </dependency>
-          <!-- JavaMail -->
-          <dependency>
-              <groupId>org.apache.geronimo.javamail</groupId>
-              <artifactId>geronimo-javamail_1.4_mail</artifactId>
-          </dependency>
-          <!-- End: JavaMail -->
-          <dependency>
-              <groupId>org.apache.xbean</groupId>
-              <artifactId>xbean-asm-shaded</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.xbean</groupId>
-              <artifactId>xbean-finder-shaded</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.xbean</groupId>
-              <artifactId>xbean-reflect</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.xbean</groupId>
-              <artifactId>xbean-naming</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.xbean</groupId>
-              <artifactId>xbean-bundleutils</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>junit</groupId>
-              <artifactId>junit</artifactId>
-              <scope>provided</scope>
-          </dependency>
-          <dependency>
-              <groupId>org.hsqldb</groupId>
-              <artifactId>hsqldb</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>commons-dbcp</groupId>
-              <artifactId>commons-dbcp</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>commons-pool</groupId>
-              <artifactId>commons-pool</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.codehaus.swizzle</groupId>
-              <artifactId>swizzle-stream</artifactId>
-          </dependency>
-          <!-- added temporarily till we get a fixed version of the dep report plugin -->
-          <!--<dependency>-->
-          <!--<groupId>commons-logging</groupId>-->
-          <!--<artifactId>commons-logging</artifactId>-->
-          <!--</dependency>-->
-          <!-- webservices  -->
-          <dependency>
-              <groupId>wsdl4j</groupId>
-              <artifactId>wsdl4j</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.quartz-scheduler</groupId>
-              <artifactId>quartz</artifactId>
-          </dependency>
-          <!-- Dependency of Quartz -->
-          <dependency>
-              <groupId>org.slf4j</groupId>
-              <artifactId>slf4j-log4j12</artifactId>
-          </dependency>
-          <!-- Dependency of Quartz -->
-          <dependency>
-              <groupId>org.slf4j</groupId>
-              <artifactId>slf4j-api</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>xmlunit</groupId>
-              <artifactId>xmlunit</artifactId>
-              <scope>test</scope>
-          </dependency>
-          <dependency>
-              <groupId>xml-apis</groupId>
-              <artifactId>xml-apis</artifactId>
-              <scope>test</scope>
-          </dependency>
-          <dependency>
-              <groupId>org.codehaus.swizzle</groupId>
-              <artifactId>swizzle-confluence</artifactId>
-              <version>1.1</version>
-              <type>jar</type>
-              <scope>test</scope>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openwebbeans</groupId>
-              <artifactId>openwebbeans-impl</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openwebbeans</groupId>
-              <artifactId>openwebbeans-spi</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openwebbeans</groupId>
-              <artifactId>openwebbeans-ejb</artifactId>
-              <exclusions>
-                  <exclusion>
-                      <groupId>org.apache.geronimo.specs</groupId>
-                      <artifactId>geronimo-ejb_3.1_spec</artifactId>
-                  </exclusion>
-              </exclusions>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openwebbeans</groupId>
-              <artifactId>openwebbeans-ee</artifactId>
-          </dependency>
-          <dependency>
-              <artifactId>openwebbeans-ee-common</artifactId>
-              <groupId>org.apache.openwebbeans</groupId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openwebbeans</groupId>
-              <artifactId>openwebbeans-web</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.openjpa</groupId>
-              <artifactId>openjpa</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.bval</groupId>
-              <artifactId>bval-core</artifactId>
-          </dependency>
-          <dependency>
-              <groupId>org.apache.bval</groupId>
-              <artifactId>bval-jsr303</artifactId>
-          </dependency>
-      </dependencies>
-      <profiles>
-          <profile>
-              <id>openejb.debug</id>
-              <build>
-                  <plugins>
-                      <plugin>
-                          <groupId>org.apache.maven.plugins</groupId>
-                          <artifactId>maven-surefire-plugin</artifactId>
-                          <configuration>
-                              <forkMode>pertest</forkMode>
-                              <argLine>"-javaagent:${basedir}/target/openejb-javaagent-${project.version}.jar" -Xdebug
-                                  -Xnoagent -Djava.compiler=NONE
-                                  -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
-                              </argLine>
-                              <workingDirectory>${basedir}/target</workingDirectory>
-                              <systemPropertyVariables>
-                                  <openejb.home>${basedir}/target/test-classes</openejb.home>
-                                  <log4j.configuration>file:///${basedir}/target/classes/embedded.logging.properties
-                                  </log4j.configuration>
-                              </systemPropertyVariables>
-                          </configuration>
-                      </plugin>
-                  </plugins>
-              </build>
-          </profile>
-      </profiles>
-  </project>
+    <!-- ActiveMQ -->
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-ra</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-core</artifactId>
+      <exclusions>
+        <exclusion>
+          <artifactId>jasypt</artifactId>
+          <groupId>org.jasypt</groupId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-context</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.components</groupId>
+      <artifactId>geronimo-connector</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.components</groupId>
+      <artifactId>geronimo-transaction</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.objectweb.howl</groupId>
+      <artifactId>howl</artifactId>
+    </dependency>
+    <!-- JavaMail -->
+    <dependency>
+      <groupId>org.apache.geronimo.javamail</groupId>
+      <artifactId>geronimo-javamail_1.4_mail</artifactId>
+    </dependency>
+    <!-- End: JavaMail -->
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-asm-shaded</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-finder-shaded</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-reflect</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-naming</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-bundleutils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.hsqldb</groupId>
+      <artifactId>hsqldb</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-dbcp</groupId>
+      <artifactId>commons-dbcp</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-pool</groupId>
+      <artifactId>commons-pool</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.swizzle</groupId>
+      <artifactId>swizzle-stream</artifactId>
+    </dependency>
+    <!-- added temporarily till we get a fixed version of the dep report plugin -->
+    <!--<dependency>-->
+    <!--<groupId>commons-logging</groupId>-->
+    <!--<artifactId>commons-logging</artifactId>-->
+    <!--</dependency>-->
+    <!-- webservices  -->
+    <dependency>
+      <groupId>wsdl4j</groupId>
+      <artifactId>wsdl4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.quartz-scheduler</groupId>
+      <artifactId>quartz</artifactId>
+    </dependency>
+    <!-- Dependency of Quartz -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+    </dependency>
+    <!-- Dependency of Quartz -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>xmlunit</groupId>
+      <artifactId>xmlunit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.swizzle</groupId>
+      <artifactId>swizzle-confluence</artifactId>
+      <version>1.1</version>
+      <type>jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-impl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-ejb</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-ejb_3.1_spec</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-ee</artifactId>
+    </dependency>
+    <dependency>
+      <artifactId>openwebbeans-ee-common</artifactId>
+      <groupId>org.apache.openwebbeans</groupId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openjpa</groupId>
+      <artifactId>openjpa</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.bval</groupId>
+      <artifactId>bval-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.bval</groupId>
+      <artifactId>bval-jsr303</artifactId>
+    </dependency>
+  </dependencies>
+  <profiles>
+    <profile>
+      <id>openejb.debug</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <forkMode>pertest</forkMode>
+              <argLine>"-javaagent:${basedir}/target/openejb-javaagent-${project.version}.jar" -Xdebug
+                -Xnoagent -Djava.compiler=NONE
+                -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
+              </argLine>
+              <workingDirectory>${basedir}/target</workingDirectory>
+              <systemPropertyVariables>
+                <openejb.home>${basedir}/target/test-classes</openejb.home>
+                <log4j.configuration>file:///${basedir}/target/classes/embedded.logging.properties
+                </log4j.configuration>
+              </systemPropertyVariables>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>
 

Modified: openejb/trunk/openejb/container/openejb-osgi/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-osgi/pom.xml?rev=1210859&r1=1210858&r2=1210859&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-osgi/pom.xml (original)
+++ openejb/trunk/openejb/container/openejb-osgi/pom.xml Tue Dec  6 11:00:42 2011
@@ -1,23 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-    <!--
+<!--
 
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements. See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership. The
-        ASF licenses this file to You under the Apache License, Version 2.0 (the
-        "License"); you may not use this file except in compliance with the
-        License. You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
-        law or agreed to in writing, software distributed under the License is
-        distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-        KIND, either express or implied. See the License for the specific
-        language governing permissions and limitations under the License.
-    -->
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements. See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership. The
+    ASF licenses this file to You under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance with the
+    License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
+    law or agreed to in writing, software distributed under the License is
+    distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the specific
+    language governing permissions and limitations under the License.
+-->
 
-    <!-- $Rev$ $Date$ -->
+<!-- $Rev$ $Date$ -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.openejb</groupId>
@@ -68,49 +69,49 @@
             <Bundle-Activator>org.apache.openejb.core.osgi.impl.Activator</Bundle-Activator>
             <Export-Package>org.apache.openejb.core.osgi.*</Export-Package>
             <Import-Package>
-                javax.annotation;version=1.1,
-                javax.ejb;version=3.1,
-                javax.enterprise.deploy;resolution:=optional,
-                javax.jms;resolution:=optional,
-                javax.mail;resolution:=optional;version="[1.4,2)",
-                javax.naming,
-                javax.transaction;version="[1.1,1.2)",
-                javax.transaction.xa;version="[1.1,1.2)",
-                javax.xml.registry;resolution:=optional,
-                javax.xml.rpc;resolution:=optional,
-                javax.xml.ws,
-                org.apache.activemq;resolution:=optional;version="[5.4,6)",
-                org.apache.activemq.ra;version="[5.4,6)",
-                org.apache.commons.dbcp;resolution:=optional;version="[1.4,2)",
-                org.apache.commons.dbcp.managed;resolution:=optional;version="[1.4,2)",
-                org.apache.commons.logging,
-                org.apache.kahadb;resolution:=optional,
-                org.apache.openejb;version="[3.1,4.2)",
-                org.apache.openejb.assembler.classic;version="[3.1,4.2)",
-                org.apache.openejb.cdi;version="[3.1,4.2)",
-                org.apache.openejb.config;version="[3.1,4.2)",
-                org.apache.openejb.core;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.core.managed;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.core.mdb;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.core.security;version="[3.1,4.2)",
-                org.apache.openejb.core.singleton;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.core.stateful;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.core.stateless;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.jee;version="[3.1,4.2)",
-                org.apache.openejb.loader;version="[3.1,4.2)",
-                org.apache.openejb.resource;version="[3.1,4.2)",
-                org.apache.openejb.resource.activemq;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.resource.jdbc;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.resource.quartz;resolution:=optional;version="[3.1,4.2)",
-                org.apache.openejb.server;version="[3.1,4.2)",
-                org.apache.openejb.util;version="[3.1,4.2)",
-                org.apache.xerces;resolution:=optional,
-                org.apache.xml.resolver;resolution:=optional,
-                org.hsqldb.jdbc;resolution:=optional,
-                org.junit;resolution:=optional,
-                org.osgi.framework;version="[1.4,1.6)",
-                org.osgi.util.tracker;version="[1.4,1.6)",
-                org.slf4j;version="[1.6,2)"
+              javax.annotation;version=1.1,
+              javax.ejb;version=3.1,
+              javax.enterprise.deploy;resolution:=optional,
+              javax.jms;resolution:=optional,
+              javax.mail;resolution:=optional;version="[1.4,2)",
+              javax.naming,
+              javax.transaction;version="[1.1,1.2)",
+              javax.transaction.xa;version="[1.1,1.2)",
+              javax.xml.registry;resolution:=optional,
+              javax.xml.rpc;resolution:=optional,
+              javax.xml.ws,
+              org.apache.activemq;resolution:=optional;version="[5.4,6)",
+              org.apache.activemq.ra;version="[5.4,6)",
+              org.apache.commons.dbcp;resolution:=optional;version="[1.4,2)",
+              org.apache.commons.dbcp.managed;resolution:=optional;version="[1.4,2)",
+              org.apache.commons.logging,
+              org.apache.kahadb;resolution:=optional,
+              org.apache.openejb;version="[3.1,4.2)",
+              org.apache.openejb.assembler.classic;version="[3.1,4.2)",
+              org.apache.openejb.cdi;version="[3.1,4.2)",
+              org.apache.openejb.config;version="[3.1,4.2)",
+              org.apache.openejb.core;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.core.managed;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.core.mdb;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.core.security;version="[3.1,4.2)",
+              org.apache.openejb.core.singleton;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.core.stateful;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.core.stateless;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.jee;version="[3.1,4.2)",
+              org.apache.openejb.loader;version="[3.1,4.2)",
+              org.apache.openejb.resource;version="[3.1,4.2)",
+              org.apache.openejb.resource.activemq;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.resource.jdbc;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.resource.quartz;resolution:=optional;version="[3.1,4.2)",
+              org.apache.openejb.server;version="[3.1,4.2)",
+              org.apache.openejb.util;version="[3.1,4.2)",
+              org.apache.xerces;resolution:=optional,
+              org.apache.xml.resolver;resolution:=optional,
+              org.hsqldb.jdbc;resolution:=optional,
+              org.junit;resolution:=optional,
+              org.osgi.framework;version="[1.4,1.6)",
+              org.osgi.util.tracker;version="[1.4,1.6)",
+              org.slf4j;version="[1.6,2)"
             </Import-Package>
             <Include-Resource>${pom.basedir}/src/main/resources</Include-Resource>
           </instructions>
@@ -130,7 +131,7 @@
               <artifacts>
                 <artifact>
                   <file>target/classes/features.xml</file>
-                  <type>xml </type>
+                  <type>xml</type>
                   <classifier>features</classifier>
                 </artifact>
               </artifacts>
@@ -139,20 +140,20 @@
         </executions>
       </plugin>
 
-            <!--
-                <plugin> <groupId>org.apache.felix.karaf.tooling</groupId>
-                <artifactId>features-maven-plugin</artifactId>
-                <version>1.0.0</version> <executions> <execution>
-                <id>add-features-to-repo</id> <phase>generate-resources</phase>
-                <goals> <goal>add-features-to-repo</goal> </goals>
-                <configuration> <descriptors>
-                <descriptor>file:${basedir}/target/classes/features.xml</descriptor>
-                </descriptors> <features> <feature>javaee-api</feature>
-                <feature>openejb-core</feature> </features>
-                <repository>target/features-repo</repository> </configuration>
-                </execution> </executions> </plugin>
-            -->
-        </plugins>
-    </build>
+      <!--
+          <plugin> <groupId>org.apache.felix.karaf.tooling</groupId>
+          <artifactId>features-maven-plugin</artifactId>
+          <version>1.0.0</version> <executions> <execution>
+          <id>add-features-to-repo</id> <phase>generate-resources</phase>
+          <goals> <goal>add-features-to-repo</goal> </goals>
+          <configuration> <descriptors>
+          <descriptor>file:${basedir}/target/classes/features.xml</descriptor>
+          </descriptors> <features> <feature>javaee-api</feature>
+          <feature>openejb-core</feature> </features>
+          <repository>target/features-repo</repository> </configuration>
+          </execution> </executions> </plugin>
+      -->
+    </plugins>
+  </build>
 
 </project>

Modified: openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java?rev=1210859&r1=1210858&r2=1210859&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java (original)
+++ openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java Tue Dec  6 11:00:42 2011
@@ -34,7 +34,11 @@ import java.util.Properties;
  * @version $Rev$ $Date$
  */
 public class Activator implements BundleActivator {
+    public static final String OPENEJB_OSGI_START_SERVICES_PROP = "openejb.osgi.start-services";
+
     private static final Logger LOGGER = LoggerFactory.getLogger(Activator.class);
+    private static final String SERVICE_MANAGER_NAME = "org.apache.openejb.server.ServiceManager";
+    private static final long TRACKER_TIMEOUT = 60000;
 
     private OpenEJBInstance openejb;
 
@@ -64,14 +68,77 @@ public class Activator implements Bundle
             throw e;
         }
 
+        // should be registered through openejb-server
+        ServiceTracker serviceManagerTracker = null;
+        try {
+            serviceManagerTracker = getServiceManger(context);
+            Object serviceManager = serviceManagerTracker.getService();
+            if (serviceManager == null) {
+                LOGGER.warn("can't find service manager");
+            }
+
+            invoke(serviceManager, "init");
+            invoke(serviceManager, "start");
+        } catch (InterruptedException ie) {
+            LOGGER.warn("can't find service manager");
+        } catch (Exception e) {
+            LOGGER.error("can't start OpenEJB services", e);
+        } finally {
+            if (serviceManagerTracker != null) {
+                serviceManagerTracker.close();
+            }
+        }
+
         LOGGER.info("Registering OSGified OpenEJB Deployer");
         context.addBundleListener(new Deployer());
     }
 
+    private static ServiceTracker getServiceManger(BundleContext context) throws InterruptedException {
+        ServiceTracker serviceManagerTracker = new ServiceTracker(context, SERVICE_MANAGER_NAME, null);
+        serviceManagerTracker.open();
+        serviceManagerTracker.waitForService(TRACKER_TIMEOUT);
+        return serviceManagerTracker;
+    }
+
     public void stop(BundleContext context) throws Exception {
         LOGGER.info("Stopping OpenEJB; openejb.isInitialized(): " + openejb.isInitialized());
 
+        ServiceTracker serviceManager = null;
+        try {
+            serviceManager = getServiceManger(context);
+            invoke(serviceManager.getService(), "stop");
+        } catch (InterruptedException ie) {
+            LOGGER.warn("can't find service manager");
+        } catch (Exception e) {
+            LOGGER.error("can't start OpenEJB services", e);
+        } finally {
+            if (serviceManager != null) {
+                serviceManager.close();
+            }
+        }
+
         openejb = null;
         OpenEJB.destroy(); // todo: should it be static?
     }
+
+    private static void invoke(Object serviceManager, String name) throws OpenEJBException, InvocationTargetException, IllegalAccessException {
+        if (serviceManager == null) {
+            LOGGER.warn("can't invoke method {} since the service manager is null", name);
+        }
+
+        Class<?> current = serviceManager.getClass();
+        Method mtd = null;
+        while (mtd == null || !current.equals(Object.class)) {
+            try {
+                mtd = current.getDeclaredMethod(name);
+            } catch (NoSuchMethodException e) {
+                // ignored
+            }
+        }
+
+        if (mtd == null) {
+            throw new OpenEJBException("can't find method " + name + " on service " + serviceManager);
+        }
+        mtd.invoke(serviceManager);
+    }
 }

Modified: openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java?rev=1210859&r1=1210858&r2=1210859&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java (original)
+++ openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java Tue Dec  6 11:00:42 2011
@@ -18,7 +18,6 @@ package org.apache.openejb.core.osgi.imp
 
 import org.apache.openejb.AppContext;
 import org.apache.openejb.BeanContext;
-import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.RpcContainer;
 import org.apache.openejb.UndeployException;
 import org.apache.openejb.assembler.classic.AppInfo;
@@ -32,14 +31,12 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
 import org.osgi.framework.BundleListener;
 import org.osgi.framework.ServiceRegistration;
-import org.osgi.util.tracker.ServiceTracker;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.net.URL;
@@ -56,12 +53,9 @@ import java.util.concurrent.ConcurrentHa
  */
 public class Deployer implements BundleListener {
     private static final Logger LOGGER = LoggerFactory.getLogger(Deployer.class);
-    private static final String SERVICE_MANAGER_NAME = "org.apache.openejb.server.ServiceManager";
-    public static final String OPENEJB_OSGI_START_SERVICES_PROP = "openejb.osgi.start-services";
 
     private Map<Bundle, List<ServiceRegistration>> registrations = new ConcurrentHashMap<Bundle, List<ServiceRegistration>>();
     private Map<Bundle, AppContext> appContexts = new ConcurrentHashMap<Bundle, AppContext>();
-    private ServiceTracker serviceManagerTracker;
 
     public void bundleChanged(BundleEvent event) {
         switch (event.getType()) {
@@ -118,23 +112,6 @@ public class Deployer implements BundleL
                 } catch (Exception ex1) {
                     LOGGER.error("can't deploy " + ejbJarUrl.toExternalForm(), ex1);
                 }
-
-                if (System.getProperty(OPENEJB_OSGI_START_SERVICES_PROP) != null) {
-                    // should be registered through openejb-server
-                    try {
-                        serviceManagerTracker = new ServiceTracker(bundle.getBundleContext(), SERVICE_MANAGER_NAME, null);
-                        serviceManagerTracker.open();
-                        Object serviceManager = serviceManagerTracker.getService();
-                        if (serviceManager == null) {
-                            LOGGER.error("can't find service manager");
-                        }
-
-                        invoke(serviceManager, "init");
-                        invoke(serviceManager, "start");
-                    } catch (Exception sme) {
-                        LOGGER.error("can't start OpenEJB services", sme);
-                    }
-                }
             }
         } finally {
             Thread.currentThread().setContextClassLoader(oldCl);
@@ -155,17 +132,6 @@ public class Deployer implements BundleL
             } catch (UndeployException e) {
                 LOGGER.error("can't undeployer the bundle", e);
             }
-
-            if (System.getProperty(OPENEJB_OSGI_START_SERVICES_PROP) != null) {
-                // should be registered through openejb-server
-                try {
-                    Object serviceManager = serviceManagerTracker.getService();
-                    invoke(serviceManager, "stop");
-                    serviceManagerTracker.close();
-                } catch (Exception e) {
-                    LOGGER.error("can't stop OpenEJB services", e);
-                }
-            }
         }
         LOGGER.info(String.format("[Deployer] Bundle %s has been stopped", bundle.getSymbolicName()));
     }
@@ -277,25 +243,4 @@ public class Deployer implements BundleL
             return "OSGIClassLoader for [" + backingBundle + "]";
         }
     }
-
-    private static void invoke(Object serviceManager, String name) throws OpenEJBException, InvocationTargetException, IllegalAccessException {
-        if (serviceManager == null) {
-            LOGGER.warn("can't invoke method {} since the service manager is null", name);
-        }
-
-        Class<?> current = serviceManager.getClass();
-        Method mtd = null;
-        while (mtd == null || !current.equals(Object.class)) {
-            try {
-                mtd = current.getDeclaredMethod(name);
-            } catch (NoSuchMethodException e) {
-                // ignored
-            }
-        }
-
-        if (mtd == null) {
-            throw new OpenEJBException("can't find method " + name + " on service " + serviceManager);
-        }
-        mtd.invoke(serviceManager);
-    }
 }

Modified: openejb/trunk/openejb/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/pom.xml?rev=1210859&r1=1210858&r2=1210859&view=diff
==============================================================================
--- openejb/trunk/openejb/pom.xml (original)
+++ openejb/trunk/openejb/pom.xml Tue Dec  6 11:00:42 2011
@@ -99,6 +99,8 @@
     <openejb.osgi.import>${openejb.osgi.import.pkg}</openejb.osgi.import>
     <openejb.osgi.export.pkg>org.apache.openejb</openejb.osgi.export.pkg>
     <openejb.osgi.export>${openejb.osgi.export.pkg}*;version=${openejb.osgi.export.version}</openejb.osgi.export>
+    <openejb.osgi.fragment/>
+    <openejb.osgi.require/>
     <openejb.osgi.private.pkg>!*</openejb.osgi.private.pkg>
     <openejb.osgi.dynamic.import.pkg/>
     <openejb.osgi.export.version>${project.version}</openejb.osgi.export.version>
@@ -223,6 +225,8 @@
             <Bundle-Activator>${openejb.bundle.activator}</Bundle-Activator>
             <Export-Package>${openejb.osgi.export}</Export-Package>
             <Import-Package>${openejb.osgi.import}</Import-Package>
+            <Fragment-Host>${openejb.osgi.fragment}</Fragment-Host>
+            <Require-Bundle>${openejb.osgi.require}</Require-Bundle>
             <DynamicImport-Package>${openejb.osgi.dynamic.import}</DynamicImport-Package>
             <Private-Package>${openejb.osgi.private.pkg}</Private-Package>
             <Implementation-Title>Apache OpenEJB</Implementation-Title>

Modified: openejb/trunk/openejb/server/openejb-server/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/pom.xml?rev=1210859&r1=1210858&r2=1210859&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/pom.xml (original)
+++ openejb/trunk/openejb/server/openejb-server/pom.xml Tue Dec  6 11:00:42 2011
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+  <?xml version="1.0" encoding="UTF-8"?>
 <!--
     
     Licensed to the Apache Software Foundation (ASF) under one or more
@@ -222,8 +222,12 @@
       org.apache.geronimo.transaction.manager;version="[3.0,4)",
       org.apache.kahadb.util;version="[5.4,6)",
       org.apache.log4j,
-      org.apache.openejb.spi,
-      org.apache.openejb.util,
+      org.apache.openejb;version="[4.0,5)",
+      org.apache.openejb.client;version="[4.0,5)",
+      org.apache.openejb.spi;version="[4.0,5)",
+      org.apache.openejb.util;version="[4.0,5)",
+      org.apache.openejb.loader;version="[4.0,5)",
+      org.apache.openejb.assembler.classic;version="[4.0,5)",
       org.apache.openjpa.event;version="[2.1,3)";resolution:=optional,
       org.apache.openjpa.persistence;version="[2.1,3)";resolution:=optional,
       org.apache.webbeans.annotation;version="[1.1,2)",