tomee- prefix is filtered, just rename your app/project Le 22 mai 2014 01:34, "Marius Kruger" <[email protected]> a écrit :
> hi again > > ok, I give up :S > > I'm trying run this simple REST test with embedded OpenEjb but I can bang > my head against the table and it just doesn't want to pick up my > @LocalClient and rest services. > I have other projects with similar code where it works sort of but I can't > spot the difference. As you will see I tried everything :( > > git clone https://github.com/amanica/tomee-embedded-trial.git > > mvn clean test -Dtest=PingRSEmbeddedOpenEjbTest > > org.apache.openejb.OpenEjbContainer$NoModulesFoundException: No modules > found to deploy. > 1)Maybe descriptors are placed in incorrect location. > Descriptors could go under: > <base-dir>/META-INF or <base-dir>/WEB-INF > but not directly under <base-dir> > Check 'Application Discovery via the Classpath' docs page for more info > 2)Maybe no modules are present in the classpath. > Is 'openejb.base' system property pointing to the intended location? > at > > org.apache.openejb.util.Exceptions.newNoModulesFoundException(Exceptions.java:98) > at > > org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:549) > at > > org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:354) > at > javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56) > at com.example.AOpenEjbTest.getContext(AOpenEjbTest.java:74) > at com.example.AOpenEjbTest.inject(AOpenEjbTest.java:51) > at > > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) > > > $ find -iname "*.xml" > ./src/main/webapp/WEB-INF/web.xml > ./src/main/webapp/META-INF/context.xml > ./src/main/resources/META-INF/ejb-jar.xml > ./src/main/resources/META-INF/persistence.xml > ./src/test/resources/META-INF/application-client.xml > ./src/test/resources/META-INF/ejb-jar.xml > ./target/classes/META-INF/ejb-jar.xml > ./target/classes/META-INF/persistence.xml > ./target/test-classes/META-INF/application-client.xml > ./target/test-classes/META-INF/ejb-jar.xml > > ./target/m2e-wtp/web-resources/META-INF/maven/za.co.enerweb/tomee-embedded-trial/pom.xml > ./target/surefire-reports/TEST-com.example.PingRSEmbeddedOpenEjbTest.xml > ./pom.xml > > > > @LocalClient > public class PingRSEmbeddedOpenEjbTest extends AOpenEjbTest { > @EJB > private Movies movies; > > protected void setProperties(Properties properties) { > super.setProperties(properties); > > properties.setProperty("openejb.validation.output.level", > "VERBOSE"); > properties.setProperty("openejb.embedded.remotable", "true"); > properties.setProperty("openejb.log.factory", "slf4j"); > properties.setProperty("openejb.tempclassloader.skip", > "annotations"); > properties.setProperty( > "openejb.deployments.classpath.require.descriptor", "NONE"); > properties.setProperty(EJBContainer.APP_NAME, "appName"); > properties.put("movieDatabase", "new://Resource?type=DataSource"); > properties.put("movieDatabase.JdbcDriver", > "org.hsqldb.jdbcDriver"); > properties.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb"); > } > @Test > public void ping() { > final String message = > WebClient.create("http://localhost:8080").path( > // "/" + getClass().getSimpleName() + > "/tomee-embedded-trial/MyRestApplication" + > "/ping") > .get(String.class); > System.out.println("got message: " + message); > assertEquals("pong", message); > } > > } > > > public abstract class AOpenEjbTest { > > private Context context; > > @Before > public final void setupAOpenEjbTest() throws Exception { > // needed here for users of our subclasses > setUpBeforeInjection(); > injectContext(); > setUpAfterInjection(); > } > > private void injectContext() throws Exception { > if (context == null) { > context = inject(this); > } > } > > private Context inject(final Object target) > throws NamingException { > Properties properties = new Properties(); > setProperties(properties); > > Context context = getContext(properties); > try { > context.bind("inject", target); > } catch (NamingException e) { > System.out.println("Could not load context."); > e.printStackTrace(); > } > return context; > } > > protected Context getContext(Properties properties) { > return EJBContainer.createEJBContainer(properties).getContext(); > } > > protected void setProperties(Properties properties) { > properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, > "org.apache.openejb.client.LocalInitialContextFactory"); > properties.setProperty("openejb.embedded.remotable", "true"); > } > } > > > Any pointers? > thanks > marius >
