[jboss-user] [JBoss Seam] - RuntimeException when deploying

codest do-not-reply at jboss.com
Sun Dec 3 07:14:46 EST 2006


Hi Folks!

I'm new to Seam/EJB/JBoss, but pretty enthuasiastic for what I've seen so far. Please forgive if this might be an easy question, but I've searched around and found nothing on the web or in the forums. Additionally, I'm not sure that I understood everything (components and their dependencies) correctly.

I'm getting this error message on the console while I'm trying to deploy my project:


  | 12:53:33,015 INFO  [EARDeployer] Init J2EE application: file:/home/joerg/jboss-4.0.4.GA/server/default/deploy/easyCV.ear
  | 12:53:34,590 INFO  [Ejb3DescriptorHandler] adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to de.codest.easyCV.logic.InterviewAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl at a594e1
  | 12:53:34,705 INFO  [Ejb3DescriptorHandler] adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to de.codest.easyCV.logic.WelcomeAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl at 7a6c34
  | 12:53:34,718 INFO  [Ejb3DescriptorHandler] adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to de.codest.easyCV.logic.profile.KurzprofilAction org.jboss.annotation.internal.DefaultInterceptorMarkerImpl at 5292e6
  | 12:53:34,731 INFO  [Ejb3DescriptorHandler] adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to de.codest.easyCV.model.profile.CVProfile org.jboss.annotation.internal.DefaultInterceptorMarkerImpl at 75d65c
  | 12:53:34,841 INFO  [Ejb3DescriptorHandler] adding class annotation org.jboss.annotation.internal.DefaultInterceptorMarker to de.codest.easyCV.model.profile.categories.KurzprofilItem org.jboss.annotation.internal.DefaultInterceptorMarkerImpl at 14174f9
  | 12:53:34,968 WARN  [ServiceController] Problem creating service jboss.j2ee:service=EJB3,module=easyCV.jar
  | java.lang.RuntimeException: bean class has no local, webservice, or remote interfaces defined and does not implement at least one business interface
  |         at org.jboss.ejb3.ProxyFactoryHelper.getLocalInterfaces(ProxyFactoryHelper.java:105)
  |         at org.jboss.ejb3.ProxyDeployer.initializeLocalBindingMetadata(ProxyDeployer.java:117)
  |         at org.jboss.ejb3.SessionContainer.instantiated(SessionContainer.java:71)
  |         at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:573)
  |         at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:555)
  |         at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:536)
  |         at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:508)
  |         at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:463)
  |         at org.jboss.ejb3.Ejb3Module.createService(Ejb3Module.java:125)
  |         at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:260)
  |         at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:243)
  |         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  |         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  |         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
  |         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
  |         at $Proxy0.create(Unknown Source)
  | ...
  | 

My question: Is there a way to find out to which bean class the message is refering to? This would make it a lot easier to dig deeper.

The last thing I did (as far as I remember) was introducing a SFSB:


  | @Stateful
  | @Name("CVProfile")
  | public class CVProfile implements Serializable, CVProfileInterface {
  | 

with the following interface:


  | @Local
  | public interface CVProfileInterface {
  | 
  | 	public abstract int getCurrentRevision();
  | 	public abstract void addCategory(Category cat);
  |         public abstract Category getCategory(String name);
  | 	public abstract void destroy();
  | 
  | }
  | 

But I'm not sure if this is somehow connected to the error. Fact is: The application gets deployed, but it cannot build the first view. Trying to access it from a browser brings:
13:11:12,323 ERROR [STDERR] 03.12.2006 13:11:12 com.sun.facelets.FaceletViewHandler handleRenderException
  | SCHWERWIEGEND: Error Rendering View[/home.xhtml]
  | org.jboss.seam.InstantiationException: Could not instantiate Seam component: interview
  |         at org.jboss.seam.Component.newInstance(Component.java:735)
  |         at org.jboss.seam.Component.newInstance(Component.java:1308)
  |         at org.jboss.seam.Component.getInstance(Component.java:1263)
  |         at org.jboss.seam.Component.getInstance(Component.java:1246)
  |         at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:44)
  |         at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:134)
  |         at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:65)
  |         at com.sun.el.parser.AstValue.getValue(AstValue.java:106)
  |         at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
  |         at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
  |         at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
  |         at javax.faces.component.UIOutput.getValue(UIOutput.java:75)
  |         at org.apache.myfaces.renderkit.RendererUtils.getObjectValue(RendererUtils.java:195)
  |         at org.apache.myfaces.renderkit.RendererUtils.getBooleanValue(RendererUtils.java:152)
  |         at org.apache.myfaces.renderkit.html.HtmlCheckboxRendererBase.encodeEnd(HtmlCheckboxRendererBase.java:60)
  |         at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
  |         at org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
  |         at org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
  |         at org.apache.myfaces.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:62)
  |         at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
  |         at org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
  |         at org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderHeaderOrFooter(HtmlGridRendererBase.java:127)
  |         at org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:83)
  |         at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
  |         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:242)
  |         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
  |         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
  |         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
  |         at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:554)
  |         at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
  |         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |         at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |         at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  |         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  |         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  |         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  |         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  |         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  |         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  |         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  |         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  |         at java.lang.Thread.run(Thread.java:595)
  | Caused by: javax.naming.NameNotFoundException: easyCV not bound
  |         at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
  |         at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
  |         at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
  |         at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
  |         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
  |         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
  |         at javax.naming.InitialContext.lookup(InitialContext.java:351)
  |         at org.jboss.seam.Component.instantiate(Component.java:774)
  |         at org.jboss.seam.Component.newInstance(Component.java:731)
  |         ... 54 more
  | 
But I didn't change the interview component since it ran fine, so I think this is a consequence from the first error...

Another question that arose: When I'm using own classes (let's say MyClass) as type for attributes in CVProfile (the implementation), does MyClass have to be a component (having a @Name tag, interface...)? This is where I'm a bit confused about which things need to have Seam tags or interfaces.

Thanks a lot in advance for you help!
Regards,
Jörg

PS: If you need further information, please tell me. Thanks.

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3990792




More information about the jboss-user mailing list