Hi, i'm new to seam. I'm getting an exception if I do not make my stateless beans implement a business interface annotated with @Local.
Im getting this error when deploying:
java.lang.RuntimeException: bean class has no local, webservice, or remote interfaces defined and does not implement at least one business interface: BuscadorLocalidad at org.jboss.ejb3.ProxyFactoryHelper.getLocalInterfaces(ProxyFactoryHelper.java:115) at org.jboss.ejb3.interceptor.EJB3InterceptorsFactory.getBusinessInterfaces(EJB3InterceptorsFactory.java:172) at org.jboss.ejb3.interceptor.EJB3InterceptorsFactory.isBusinessMethod(EJB3InterceptorsFactory.java:122) at org.jboss.ejb3.interceptor.EJB3InterceptorsFactory.createPerJoinpoint(EJB3InterceptorsFactory.java:98) ... 108 more
The exception message is very clear, and everything works fine if I make them implement an annotated business interface. My question is, because I saw some examples that do not use @Local and work allright (for example, seambay, bean AuctionAction
). What am i missing?
Thanks for your time,
Juan Ignacio
When using EJB3 you MUST implement @Local/@Remote interface. This what you see in the demo is a pure java class, not an ejb.
When EJB3.1 is ready you'll no longer be forced to implement interfaces.