Mantis - Resin
Viewing Issue Advanced Details
4555 block always 05-16-11 06:34 05-17-11 13:32
dicr  
ferg  
normal  
closed 4.0.18  
fixed  
none    
none 4.0.19  
0004555: ejb: invalid stateless proxy code generation
I have the following exception in my web-app:

/var/cache/resin/default/isp2/ejb/org/dicr/isp/ejb/DataManagerBean__StatelessProxy.java:4114:
method does not override or implement a method from a supertype
  @Override
  ^

where DataManagerBean__StatelessProxy.java is generated by resin proxy code for my bean. The lines with error code is:


  @Override
  int[] $SWITCH_TABLE$org$dicr$isp$util$DatePeriodType()
  {
    throw new EJBException("Illegal non-business method call");
  }

I can't even guess for what this method needed and whot it doing here ? Why resin using name of my class DatePeriodType ? DatePeriodType is special class using in methods arguments to specify date period. It not used anywhere else - there are no any properties with this type. Why resin using it ?

public Collection<Payment> listPayments(DatePeriodType period);


Notes
(0005254)
ferg   
05-17-11 12:37   
Is the DatePeriodType an inner class?

The issue might be one of the JDK's auto-generated methods for accessing fields from an inner class. And Resin might be picking up that method by mistake.
(0005255)
ferg   
05-17-11 13:32   
ejb/4052

The method is a synthetic method generated by eclipse or javac (probably eclipse in this case.) Resin should be ignoring synthetic methods in this situation.