No ClassLoaders found for: org.jboss.seam.intercept.Proxy
andrenpaes Oct 24, 2008 5:20 PMHello,
I'm using Seam for my project and I'm having some troubles with it.
I have an EJB module with my domain classes and Stateless Session Beans (Facades) packed inside an EAR with my WAR project.
Due to some restriction, all my JSF's backing beans are JavaBeans, inside my war project. I'm using seam to inject the Facades, Stateless Session Beans, in those backing beans. The EJB module has no dependency on Seam.
When I execute the code, the following error is happening when injecting the EJB on my backing bean:
org.jboss.seam.InstantiationException: Could not instantiate Seam component: cadastroConcursosFacade at org.jboss.seam.Component.newInstance(Component.java:2066) at org.jboss.seam.Component.getInstance(Component.java:1948) at org.jboss.seam.Component.getInstance(Component.java:1910) at org.jboss.seam.Component.getInstance(Component.java:1904) at org.jboss.seam.Component.getInstanceInAllNamespaces(Component.java:2271) at org.jboss.seam.Component.getValueToInject(Component.java:2223) at org.jboss.seam.Component.injectAttributes(Component.java:1663) at org.jboss.seam.Component.inject(Component.java:1481) at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:61) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:65) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166) at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102) at br.gov.esaf.sgc.view.CadastroConcursoBean_$$_javassist_1.listarConcursos(CadastroConcursoBean_$$_javassist_1.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:138) at org.jboss.seam.Component.callComponentMethod(Component.java:2171) at org.jboss.seam.Component.getInstanceFromFactory(Component.java:2003) at org.jboss.seam.Component.getInstance(Component.java:1938) at org.jboss.seam.Component.getInstance(Component.java:1910) at org.jboss.seam.Component.getInstance(Component.java:1904) at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55) at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50) at org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:166) at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:53) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64) at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44) at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71) at javax.faces.component.UIData.getValue(UIData.java:582) at org.ajax4jsf.component.UIDataAdaptor.getValue(UIDataAdaptor.java:1640) at org.ajax4jsf.component.SequenceDataAdaptor.getDataModel(SequenceDataAdaptor.java:48) at org.ajax4jsf.component.SequenceDataAdaptor.createDataModel(SequenceDataAdaptor.java:42) at org.richfaces.component.UIDataTable.createDataModel(UIDataTable.java:122) at org.ajax4jsf.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:621) at org.ajax4jsf.component.UIDataAdaptor.setRowKey(UIDataAdaptor.java:339) at org.richfaces.renderkit.AbstractTableRenderer.encodeTableStructure(AbstractTableRenderer.java:121) at org.richfaces.renderkit.html.DataTableRenderer.doEncodeBegin(DataTableRenderer.java:206) at org.richfaces.renderkit.html.DataTableRenderer.doEncodeBegin(DataTableRenderer.java:194) at org.ajax4jsf.renderkit.RendererBase.encodeBegin(RendererBase.java:101) at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788) at javax.faces.component.UIData.encodeBegin(UIData.java:879) at org.ajax4jsf.component.UIDataAdaptor.encodeBegin(UIDataAdaptor.java:1220) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884) at javax.faces.render.Renderer.encodeChildren(Renderer.java:137) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892) at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:196) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507) at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:51) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.RuntimeException: by java.lang.NoClassDefFoundError: org/jboss/seam/intercept/Proxy at org.jboss.seam.util.ProxyFactory.createClass(ProxyFactory.java:190) at org.jboss.seam.Component.createProxyFactory(Component.java:2356) at org.jboss.seam.Component.getProxyFactory(Component.java:1440) at org.jboss.seam.Component.wrap(Component.java:1431) at org.jboss.seam.Component.instantiateSessionBean(Component.java:1328) at org.jboss.seam.Component.instantiate(Component.java:1291) at org.jboss.seam.Component.newInstance(Component.java:2044) ... 107 more Caused by: javassist.CannotCompileException: by java.lang.NoClassDefFoundError: org/jboss/seam/intercept/Proxy at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:165) at org.jboss.seam.util.ProxyFactory.createClass(ProxyFactory.java:186) ... 113 more Caused by: java.lang.NoClassDefFoundError: org/jboss/seam/intercept/Proxy at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at javassist.util.proxy.FactoryHelper.toClass2(FactoryHelper.java:177) at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:159) ... 114 more Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.seam.intercept.Proxy at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:306) at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:521) at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:415) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) ... 122 more
When using Seam 2.0.2.SP1, this error occurs (different class thought, org.jboss.seam.Instance instead of org.jboss.seam.intercept.Proxy). But if I use the clean option in the server view in eclipse and restart JBoss, the error disappear.
When using Seam 2.1.0.GA, this error is always occurring.
All Seam's JARs are in the WEB-INF/lib.
Here's my backing bean code:
@Name("cadastroConcursoBean")
@Scope(ScopeType.CONVERSATION)
public class CadastroConcursoBean {
private List<Concurso> concursos;
private Concurso concurso;
@In("cadastroConcursosFacade")
private CadastroConcursosFacade cadastroConcursosFacade;
@DataModel
public List<Concurso> getConcursos() {
return concursos;
}
public Concurso getConcurso() {
return concurso;
}
@Factory(value = "concursosManter")
public void listarConcursos() {
concursos = cadastroConcursosFacade.consultarConcursos();
}
@Begin
public String novoConcurso() {
concurso = new Concurso();
return Outcome.CADASTRO_CONCURSOS;
}
@Begin
public String editarConcurso(Concurso concurso) {
this.concurso = concurso;
return Outcome.EDITAR_CONCURSOS;
}
@End(beforeRedirect = true)
public String cadastrarConcurso() {
cadastroConcursosFacade.cadastrarConcurso(concurso);
return Outcome.CONCURSOS;
}
@End(beforeRedirect = true)
public String alterarConcurso() {
cadastroConcursosFacade.alterarConcurso(concurso);
return Outcome.CONCURSOS;
}
}Here's my components.xml
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
xmlns:core="http://jboss.com/products/seam/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.com/products/seam/components
http://jboss.com/products/seam/components-2.0.xsd
http://jboss.com/products/seam/core
http://jboss.com/products/seam/core-2.0.xsd">
<core:init jndi-pattern="SGC-Ear/#{ejbName}/local" debug="true"/>
<component name="cadastroConcursosFacade" auto-create="true"
class="br.gov.esaf.sgc.facade.impl.CadastroConcursosFacadeBean" />
</components>And here's my Facade (inside the EJB module):
@Stateless
public class CadastroConcursosFacadeBean implements CadastroConcursosFacade {
/**
* Business para concurso.
*/
@EJB
private ConcursoBusiness concursoBusiness;
/**{@inheritDoc}*/
@Override
public List<Concurso> consultarConcursos() {
return concursoBusiness.consultarConcursos();
}
/**{@inheritDoc}*/
@Override
public void cadastrarConcurso(Concurso concurso) {
concursoBusiness.cadastrarConcurso(concurso);
}
/**{@inheritDoc}*/
@Override
public void alterarConcurso(Concurso concurso) {
concursoBusiness.alterarConcurso(concurso);
}
}Am I missing something? Any help would be appreciated.
Thanks in advance,
André Rodrigues