I misspoke the part with openejb - I meant ofcourse limitations of JSRs and the issues with the integration of different parts of JavaEE.

Per se it has to do with openejb and tomee only so far, that they are subject to the limitations of JSRs they are implementing.

It is ofcourse only my opinion but with the current standards it is quite difficult to create and run real world JavaEE application. We had these discussions on irc couple of times already and I still find that there are large holes that inhibit rapid and easy development of JavaEE applications even with tomee (although it makes a lot of things much much easier). I am reffering here to things like how JPA doesn't fit nicely in, how testing patterns and tools are still too raw, how there are non-obvious constraints and rules in CDI and EJB, how configuration is sometimes cumbersome and non-intuitive (not to mention stuff you have to do to consistently secure your application or want to realize complex web service).

Again, this is solely my opinion and my subjective definition of "easy" or "difficult". All in all I see a lot of innovation going on in this community and people working hard on multiple projects in parallel to realize, at some point, a true working and fun ecosystem for creation and running java based enterprise applications.

On 31.05.2013 18:15, Romain Manni-Bucau wrote:
:)

what's limitations are you referring? that's not because tomee is "only"
web profile certified that it doesn't handle jaxws, jaxrs, jms...basically
we are not javaee full profile certified because it would need more money
and time to configure TCKs but we are not as far as you can think since we
support a lot of the features for years.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/5/31 Howard W. Smith, Jr. <[email protected]>

+1 your response Reinis!


On Fri, May 31, 2013 at 11:49 AM, Reinis Vicups <[email protected]> wrote:

I can not say that openejb is flawless, offers all the functions I need
and that I am unconditionally excited about it (overly because of the
constraints/limitations of JavaEE and JSRs).

There is something in openejb that I am unconditionally excited and
satisfied about - it is YOU, the core commiters and rest of the community
who are endlessly professional, patient and simply fast in doing things.

Thank you so much for once again exciting me about your involvement with
this project.

br
reinis


On 31.05.2013 07:58, Romain Manni-Bucau wrote:

Thanks Mark.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/**rmannibucau<
https://twitter.com/rmannibucau>
*
*Blog: **http://rmannibucau.**wordpress.com/*<
http://rmannibucau.wordpress.com/*>
<http://**rmannibucau.wordpress.com/ <http://rmannibucau.wordpress.com/

*LinkedIn: **http://fr.linkedin.com/in/**rmannibucau*<
http://fr.linkedin.com/in/rmannibucau*>
*Github: https://github.com/**rmannibucau*<
https://github.com/rmannibucau*>


2013/5/31 Mark Struberg <[email protected]>

  will fix this now :=)
LieGrue,
strub




----- Original Message -----

From: Romain Manni-Bucau <[email protected]>
To: [email protected]
Cc:
Sent: Thursday, 30 May 2013, 19:43
Subject: Re: Javaagent throwing NoClassDefFoundError

Hi

Add asm 4 as a dependency. I added a patch on openjpa to get it
handled
but

not yet done/deployed
Le 30 mai 2013 19:32, "Reinis Vicups" <[email protected]> a écrit
:

    Hi,
   when I attempt to launch integration tests with
maven-failsafe-plugin,

I
   get NoClassDefFound for org.objectweb.asm.ClassVisitor (see
stacktrace
   below).

   I checked forums but there are only very old posts on this, is this

mebbe
   issue with failsafe plugin? Or that some jars are not visible during
   integration-test of maven?

   Thank you for your help!

   br
   reinis

   Maven dep is:

   <dependency>
    <groupId>org.apache.openejb</****groupId>
    <artifactId>openejb-javaagent<****/artifactId>
     <version>4.6.0-SNAPSHOT</****version>
     <scope>test</scope>
   </dependency>

   failsafe plugin config is:

                   <plugin>
   <groupId>org.apache.maven.****plugins</groupId>
   <artifactId>maven-failsafe-****plugin</artifactId>
                       <version>2.14.1</version>
                       <executions>
                           <execution>
                               <goals>
   <goal>integration-test</goal>
                                   <goal>verify</goal>
                               </goals>
                           </execution>
                       </executions>
                       <configuration>
   <groups>my.IntegrationTest</****groups>
                           <includes>
   <include>**/*.class</include>
                           </includes>
                           <forkMode>pertest</forkMode>
   <argLine>-javaagent:${basedir}****/target/openejb-javaagent-${****
   openejb.version}.jar</argLine>
   <workingDirectory>${basedir}/****target</workingDirectory>
                       </configuration>
                   </plugin>

   Stack trace is:

   1856  default  TRACE  [main] openjpa.Enhance - Enhancing type
"class
   my.Permission" loaded by org.apache.openejb.core.**
   TempClassLoader@140836a8.
   1874  default  WARN   [main] openjpa.Enhance - An exception was
thrown
   while attempting to perform class file transformation on

"my.Permission":

   java.lang.****NoClassDefFoundError: org/objectweb/asm/ClassVisitor
       at

org.apache.openjpa.enhance.****PCClassFileTransformer.****transform0(**
   PCClassFileTransformer.java:****156)
       at

org.apache.openjpa.enhance.****PCClassFileTransformer.****transform(**
   PCClassFileTransformer.java:****126)
       at org.apache.openjpa.****persistence.****
PersistenceProviderImpl$**
   ClassTransformerImpl.****transform(****
PersistenceProviderImpl.java:****290)
       at org.apache.openejb.****persistence.****
PersistenceUnitInfoImpl$**
   PersistenceClassFileTransforme****r.transform(**
   PersistenceUnitInfoImpl.java:****324)
       at sun.instrument.****TransformerManager.transform(****
   TransformerManager.java:188)
       at sun.instrument.****InstrumentationImpl.transform(****
   InstrumentationImpl.java:424)
       at java.lang.ClassLoader.****defineClass1(Native Method)
       at java.lang.ClassLoader.****defineClass(ClassLoader.java:***
*791)
       at java.security.****SecureClassLoader.defineClass(****
   SecureClassLoader.java:142)
       at java.net.URLClassLoader.****defineClass(URLClassLoader.****
java:449)
       at java.net.URLClassLoader.****access$100(URLClassLoader.****
java:71)
       at java.net.URLClassLoader$1.run(****URLClassLoader.java:361)
       at java.net.URLClassLoader$1.run(****URLClassLoader.java:355)
       at java.security.****AccessController.doPrivileged(****Native
Method)
       at java.net.URLClassLoader.****findClass(URLClassLoader.java:**
**354)
       at
java.lang.ClassLoader.****loadClass(ClassLoader.java:****423)
       at

sun.misc.Launcher$****AppClassLoader.loadClass(****Launcher.java:308)
       at java.lang.ClassLoader.****loadClass(ClassLoader.java:****356)
       at java.lang.Class.forName0(****Native Method)
       at java.lang.Class.forName(Class.****java:266)
       at org.apache.openjpa.meta.****MetaDataRepository.****
classForName(**
   MetaDataRepository.java:1552)
       at org.apache.openjpa.meta.****MetaDataRepository.**
   loadPersistentTypesInternal(****MetaDataRepository.java:1528)
       at

org.apache.openjpa.meta.****MetaDataRepository.****loadPersistentTypes(
   **MetaDataRepository.java:**1506)
       at

org.apache.openjpa.meta.****MetaDataRepository.****loadPersistentTypes(
   **MetaDataRepository.java:**1486)
       at org.apache.openjpa.jdbc.****kernel.JDBCBrokerFactory.**
   synchronizeMappings(****JDBCBrokerFactory.java:141)
       at org.apache.openjpa.jdbc.****kernel.JDBCBrokerFactory.**
   synchronizeMappings(****JDBCBrokerFactory.java:164)
       at

org.apache.openjpa.jdbc.****kernel.JDBCBrokerFactory.****newBrokerImpl(
   **JDBCBrokerFactory.java:122)
       at org.apache.openjpa.kernel.****AbstractBrokerFactory.****
newBroker(**
   AbstractBrokerFactory.java:****209)
       at

org.apache.openjpa.kernel.****DelegatingBrokerFactory.****newBroker(**
   DelegatingBrokerFactory.java:****156)
       at org.apache.openjpa.****persistence.****
EntityManagerFactoryImpl.**
   createEntityManager(****EntityManagerFactoryImpl.java:****227)
       at org.apache.openjpa.****persistence.****
EntityManagerFactoryImpl.**
   createEntityManager(****EntityManagerFactoryImpl.java:****60)
       at org.apache.openejb.assembler.****classic.**
   ReloadableEntityManagerFactory****.createEntityManager(**
   ReloadableEntityManagerFactory****.java:165)
       at org.apache.openejb.****persistence.****
JtaEntityManagerRegistry.**
   getEntityManager(****JtaEntityManagerRegistry.java:****115)
       at org.apache.openejb.****persistence.JtaEntityManager.****
   getEntityManager(****JtaEntityManager.java:91)
       at org.apache.openejb.****persistence.JtaEntityManager.****
   typedProxyIfNoTx(****JtaEntityManager.java:326)
       at org.apache.openejb.****persistence.JtaEntityManager.****
   createQuery(JtaEntityManager.****java:396)
       at my.AccessControlService.****getUserForUsername(**
   AccessControlService.java:41)
       at my.MockAccessControlService.****loggedInUser(**
   MockAccessControlService.java:****23)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
Method)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
   NativeMethodAccessorImpl.java:****57)
       at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
   DelegatingMethodAccessorImpl.****java:43)
       at java.lang.reflect.Method.****invoke(Method.java:601)
       at org.apache.openejb.core.****interceptor.**
   ReflectionInvocationContext$****Invocation.invoke(**
   ReflectionInvocationContext.****java:182)
       at org.apache.openejb.core.****interceptor.**
   ReflectionInvocationContext.****proceed(****
ReflectionInvocationContext.**
   java:164)
       at org.apache.openejb.monitoring.****StatsInterceptor.record(**
   StatsInterceptor.java:180)
       at org.apache.openejb.monitoring.****StatsInterceptor.invoke(**
   StatsInterceptor.java:99)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
Method)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
   NativeMethodAccessorImpl.java:****57)
       at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
   DelegatingMethodAccessorImpl.****java:43)
       at java.lang.reflect.Method.****invoke(Method.java:601)
       at org.apache.openejb.core.****interceptor.**
   ReflectionInvocationContext$****Invocation.invoke(**
   ReflectionInvocationContext.****java:182)
       at org.apache.openejb.core.****interceptor.**
   ReflectionInvocationContext.****proceed(****
ReflectionInvocationContext.**
   java:164)
       at
org.apache.openejb.core.****interceptor.InterceptorStack.****
   invoke(InterceptorStack.java:****80)
       at org.apache.openejb.core.****stateless.StatelessContainer._**
**
   invoke(StatelessContainer.****java:213)
       at
org.apache.openejb.core.****stateless.StatelessContainer.****
   invoke(StatelessContainer.****java:182)
       at org.apache.openejb.core.ivm.****EjbObjectProxyHandler.**
   synchronizedBusinessMethod(****EjbObjectProxyHandler.java:****256)
       at org.apache.openejb.core.ivm.****EjbObjectProxyHandler.**
   businessMethod(****EjbObjectProxyHandler.java:****251)
       at org.apache.openejb.core.ivm.****
EjbObjectProxyHandler._invoke(****
   EjbObjectProxyHandler.java:85)
       at
org.apache.openejb.core.ivm.****BaseEjbProxyHandler.invoke(**
   BaseEjbProxyHandler.java:303)
       at my.MockAccessControlService$$***
*LocalBeanProxy.loggedInUser(****
   my/MockAccessControlService.****java)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
Method)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
   NativeMethodAccessorImpl.java:****57)
       at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
   DelegatingMethodAccessorImpl.****java:43)
       at java.lang.reflect.Method.****invoke(Method.java:601)
       at
org.apache.webbeans.inject.****InjectableMethod.doInjection(*
***
   InjectableMethod.java:155)
       at

org.apache.webbeans.portable.****ProducerMethodProducer.****produce(**
   ProducerMethodProducer.java:****108)
       at org.apache.webbeans.component.****AbstractOwbBean.create(**
   AbstractOwbBean.java:119)
       at org.apache.webbeans.component.**
**ProducerMethodBean.create(**
   ProducerMethodBean.java:120)
       at org.apache.webbeans.context.****
DependentContext.getInstance(****
   DependentContext.java:68)
       at org.apache.webbeans.context.****AbstractContext.get(**
   AbstractContext.java:125)
       at org.apache.webbeans.container.****BeanManagerImpl.**
getReference(**
   BeanManagerImpl.java:741)
       at org.apache.webbeans.container.****BeanManagerImpl.**
   getInjectableReference(****BeanManagerImpl.java:622)
       at org.apache.webbeans.inject.****AbstractInjectable.inject(**
   AbstractInjectable.java:95)
       at
org.apache.webbeans.inject.****InjectableField.doInjection(**
   InjectableField.java:65)
       at

org.apache.webbeans.portable.****InjectionTargetImpl.****injectFields(*
   *InjectionTargetImpl.java:290)
       at org.apache.webbeans.portable.***
*InjectionTargetImpl.inject(**
   InjectionTargetImpl.java:276)
       at org.apache.webbeans.portable.***
*InjectionTargetImpl.inject(**
   InjectionTargetImpl.java:265)
       at org.apache.webbeans.component.****AbstractOwbBean.create(**
   AbstractOwbBean.java:123)
       at
org.apache.webbeans.context.****creational.BeanInstanceBag.**
   create(BeanInstanceBag.java:****76)
       at org.apache.webbeans.context.****
AbstractContext.getInstance(**
   AbstractContext.java:160)
       at org.apache.webbeans.context.****AbstractContext.get(**
   AbstractContext.java:125)
       at org.apache.webbeans.intercept.******
NormalScopedBeanInterceptorHan****
   dler.getContextualInstance(****NormalScopedBeanInterceptorHan****
   dler.java:100)
       at org.apache.webbeans.intercept.******
NormalScopedBeanInterceptorHan****
   dler.get(****NormalScopedBeanInterceptorHan****dler.java:70)
       at org.apache.webbeans.proxy.****NormalScopeProxyFactory.**
   unwrapInstance(****NormalScopeProxyFactory.java:****87)
       at
org.apache.webbeans.inject.****InjectableMethod.doInjection(*
***
   InjectableMethod.java:91)
       at

org.apache.webbeans.portable.****ProducerMethodProducer.****produce(**
   ProducerMethodProducer.java:****108)
       at org.apache.webbeans.component.****AbstractOwbBean.create(**
   AbstractOwbBean.java:119)
       at org.apache.webbeans.component.**
**ProducerMethodBean.create(**
   ProducerMethodBean.java:120)
       at org.apache.webbeans.context.****
DependentContext.getInstance(****
   DependentContext.java:68)
       at org.apache.webbeans.context.****AbstractContext.get(**
   AbstractContext.java:125)
       at org.apache.webbeans.container.****BeanManagerImpl.**
getReference(**
   BeanManagerImpl.java:741)
       at org.apache.webbeans.container.****BeanManagerImpl.**
   getInjectableReference(****BeanManagerImpl.java:622)
       at org.apache.webbeans.inject.****AbstractInjectable.inject(**
   AbstractInjectable.java:95)
       at
org.apache.webbeans.inject.****InjectableField.doInjection(**
   InjectableField.java:65)
       at

org.apache.webbeans.portable.****InjectionTargetImpl.****injectFields(*
   *InjectionTargetImpl.java:290)
       at org.apache.webbeans.portable.***
*InjectionTargetImpl.inject(**
   InjectionTargetImpl.java:276)
       at org.apache.webbeans.portable.***
*InjectionTargetImpl.inject(**
   InjectionTargetImpl.java:265)
       at org.apache.webbeans.inject.****OWBInjector.inject(**
   OWBInjector.java:57)
       at
org.apache.openejb.testing.****ApplicationComposers.before(**
   ApplicationComposers.java:596)
       at
org.apache.openejb.testing.****ApplicationComposers.evaluate(
****
   ApplicationComposers.java:666)
       at org.apache.openejb.junit.****ApplicationComposer$**
   DeployApplication.evaluate(****ApplicationComposer.java:64)
       at

org.junit.runners.****ParentRunner.runLeaf(****ParentRunner.java:263)
       at org.junit.runners.****BlockJUnit4ClassRunner.****runChild(**
   BlockJUnit4ClassRunner.java:****68)
       at org.junit.runners.****BlockJUnit4ClassRunner.****runChild(**
   BlockJUnit4ClassRunner.java:****47)
       at org.junit.runners.****ParentRunner$3.run(****
ParentRunner.java:231)
       at

org.junit.runners.****ParentRunner$1.schedule(****ParentRunner.java:60)
       at org.junit.runners.****ParentRunner.runChildren(**
   ParentRunner.java:229)
       at

org.junit.runners.****ParentRunner.access$000(****ParentRunner.java:50)
       at org.junit.runners.****ParentRunner$2.evaluate(**
   ParentRunner.java:222)
       at org.junit.runners.****ParentRunner.run(ParentRunner.**
**java:300)
       at org.junit.runners.Suite.****runChild(Suite.java:128)
       at org.junit.runners.Suite.****runChild(Suite.java:24)
       at org.junit.runners.****ParentRunner$3.run(****
ParentRunner.java:231)
       at

org.junit.runners.****ParentRunner$1.schedule(****ParentRunner.java:60)
       at org.junit.runners.****ParentRunner.runChildren(**
   ParentRunner.java:229)
       at

org.junit.runners.****ParentRunner.access$000(****ParentRunner.java:50)
       at org.junit.runners.****ParentRunner$2.evaluate(**
   ParentRunner.java:222)
       at org.junit.runners.****ParentRunner.run(ParentRunner.**
**java:300)
       at org.junit.runner.JUnitCore.****run(JUnitCore.java:157)
       at org.junit.runner.JUnitCore.****run(JUnitCore.java:136)
       at org.apache.maven.surefire.****junitcore.JUnitCoreWrapper.**
   createReqestAndRun(****JUnitCoreWrapper.java:139)
       at org.apache.maven.surefire.****junitcore.JUnitCoreWrapper.**
   executeEager(JUnitCoreWrapper.****java:111)
       at org.apache.maven.surefire.****junitcore.JUnitCoreWrapper.**
   execute(JUnitCoreWrapper.java:****84)
       at org.apache.maven.surefire.****junitcore.JUnitCoreProvider.**
   invoke(JUnitCoreProvider.java:****138)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
Method)
       at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
   NativeMethodAccessorImpl.java:****57)
       at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
   DelegatingMethodAccessorImpl.****java:43)
       at java.lang.reflect.Method.****invoke(Method.java:601)
       at org.apache.maven.surefire.****util.ReflectionUtils.**
   invokeMethodWithArray2(****ReflectionUtils.java:208)
       at org.apache.maven.surefire.****booter.ProviderFactory$**
   ProviderProxy.invoke(****ProviderFactory.java:159)
       at org.apache.maven.surefire.****booter.ProviderFactory.**
   invokeProvider(****ProviderFactory.java:87)
       at org.apache.maven.surefire.****booter.ForkedBooter.**
   runSuitesInProcess(****ForkedBooter.java:153)
       at org.apache.maven.surefire.****booter.ForkedBooter.main(**
   ForkedBooter.java:95)
   Caused by: java.lang.****ClassNotFoundException:
   org.objectweb.asm.ClassVisitor
       at java.net.URLClassLoader$1.run(****URLClassLoader.java:366)
       at java.net.URLClassLoader$1.run(****URLClassLoader.java:355)
       at java.security.****AccessController.doPrivileged(****Native
Method)
       at java.net.URLClassLoader.****findClass(URLClassLoader.java:**
**354)
       at
java.lang.ClassLoader.****loadClass(ClassLoader.java:****423)
       at

sun.misc.Launcher$****AppClassLoader.loadClass(****Launcher.java:308)
       at java.lang.ClassLoader.****loadClass(ClassLoader.java:****356)
       ... 133 more



Reply via email to