Looks like the way the IBM J9 VM looks up annotations is a little different.
Here are my observations of what is happening:

We start trying to determine if a class has the Entity annotation:
org.jboss.seam.Seam.isEntityClass(java.lang.Class<?>) line: 136 
if ( clazz.isAnnotationPresent(Entity.class) )

Skipping a few bits of code, but soon enough we end up in the Class 
implementation looking for annotations:

public <A extends Annotation> A getAnnotation(Class<A> annotation) {
  |     if (annotation == null) throw new NullPointerException();
  |     Annotation[] ans = getAnnotations();
  |     for (int i = 0; i < ans.length; i++) {
  |             if (ans.annotationType() == annotation) {
  |                     return (A)ans;
  |             }
  |     }
  |     return null;
  | }

Then in the getAnnotations() method:
public Annotation[] getAnnotations() {
  |     HashMap<String,Annotation> annotations = new 
HashMap<String,Annotation>();
  |     //Store annotations from the current class
  |     Annotation[] anns = getDeclaredAnnotations();
  |         ...
  | 

In getDeclaredAnnotations() it goes all pear-shaped here:
java.lang.Class.getDeclaredAnnotations() line: 1583 
                annotations = AnnotationHelper.getDeclaredAnnotations(this, 
AnnotationHelper.ANNOTATION_TYPE_CLASS, null);

At this point it goes into some internal IBM classes and comes up with this 
Exception:
anonymous wrote : 16:29:58,187 ERROR [STDERR] 
java.lang.TypeNotPresentException: Type javax.ejb.ApplicationException not 
present
  | 16:29:58,203 ERROR [STDERR]     at 
com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:38)
  | 16:29:58,203 ERROR [STDERR]     at 
com.ibm.oti.reflect.AnnotationHelper.getDeclaredAnnotations(AnnotationHelper.java:50)
  | 16:29:58,203 ERROR [STDERR]     at 
java.lang.Class.getDeclaredAnnotations(Class.java:1621)
  | 16:29:58,203 ERROR [STDERR]     at 
java.lang.Class.getAnnotations(Class.java:1582)
  | 16:29:58,203 ERROR [STDERR]     at 
java.lang.Class.getAnnotation(Class.java:1562)
  | 16:29:58,218 ERROR [STDERR]     at 
java.lang.Class.isAnnotationPresent(Class.java:1649)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.Seam.isEntityClass(Seam.java:136)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.contexts.ServerConversationContext.set(ServerConversationContext.java:157)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.core.Exceptions.handle(Exceptions.java:77)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:71)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:70)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:373)
  | 16:29:58,218 ERROR [STDERR]     at 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 16:29:58,218 ERROR [STDERR]     at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
  | 16:29:58,218 ERROR [STDERR]     at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  | 16:29:58,218 ERROR [STDERR]     at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  | 16:29:58,218 ERROR [STDERR]     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  | 16:29:58,234 ERROR [STDERR]     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  | 16:29:58,234 ERROR [STDERR]     at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  | 16:29:58,234 ERROR [STDERR]     at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  | 16:29:58,234 ERROR [STDERR]     at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  | 16:29:58,234 ERROR [STDERR]     at 
java.lang.Thread.run(Thread.java:803)16:29:58,234 ERROR [STDERR] Caused by:
  | 16:29:58,234 ERROR [STDERR] java.lang.ClassNotFoundException: 
javax.ejb.ApplicationException
  | 16:29:58,234 ERROR [STDERR]     at java.lang.Class.forName(Class.java:164)
  | 16:29:58,234 ERROR [STDERR]     at 
com.ibm.oti.reflect.AnnotationHelper.getAnnotation(AnnotationHelper.java:33)
  | 16:29:58,234 ERROR [STDERR]     ... 46 more


If our target platform was JBoss this would not be an issue since we can just 
use the Sun JDK. However we want to run Seam in Websphere and thus have to use 
the IBM JDK.
I reproduced this error in JBoss, just to make clear this is directly related 
to the IBM JDK and not Websphere.

anonymous wrote : Java(TM) 2 Runtime Environment, Standard Edition (build 
pwi32devifx-20070323 (if
  | ix 117674: SR4 + 116644 + 114941 + 116110 + 114881))
  | IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 
j9vmwi3223ifx-2007
  | 0323 (JIT enabled)
  | J9VM - 20070322_12058_lHdSMR
  | JIT  - 20070109_1805ifx3_r8
  | GC   - WASIFIX_2007)
  | JCL  - 20070131

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4083189#4083189

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4083189
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to