IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Seam Java Discussion :

Could not instantiate Seam component:


Sujet :

Seam Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut Could not instantiate Seam component:
    Bonjour,

    Mon problème est relativement simple. J'ai créer sous Eclipse à l'aide de Jboss tools un nouveau "Seam Web project" J'ai ensuite ajouter une nouvelle "seam form" et je souhaite créer un bean Stateful avec un méthode @Factory

    Cependant impossible d'afficher la page, lorsque j'enlève l'annotation @Stateful de la classe, la page s'affiche alors correctement.

    Voici mon EJB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    @Stateful
    @Name("Call")
    @Scope(ScopeType.SESSION)
    public class Call implements Serializable, CallInterface
    {
        /**
             * 
             */
    	private static final long serialVersionUID = 177777L;
     
    	@Logger private Log log;
     
     
        @In
        FacesMessages facesMessages;
     
        @DataModel
        private List<String> listCalls ;
     
        @DataModelSelection
        private String s ;
     
        @Factory(value = "listCalls")
    	public void fetchInventory() 
        {
        	System.out.println("Factor") ;
    	}
     
    	public void call()
    	{
     
    	}
     
    	@Remove
    	@Destroy 
    	public void destroy() {
    	}
     
    	public List<String> getListCalls() {
    		return listCalls;
    	}
     
    	public void setListCalls(List<String> listCalls) {
    		this.listCalls = listCalls;
    	}
     
    }
    Et l'erreur renvoyée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    11:28:24,958 ERROR [STDERR] 20 mars 2008 11:28:24 com.sun.facelets.FaceletViewHandler handleRenderException
    GRAVE: Error Rendering View[/call.xhtml]
    org.jboss.seam.InstantiationException: Could not instantiate Seam component: Call
    	at org.jboss.seam.Component.newInstance(Component.java:1970)
    	at org.jboss.seam.Component.getInstance(Component.java:1873)
    	at org.jboss.seam.Component.getInstance(Component.java:1840)
    	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.parser.AstValue.getValue(AstValue.java:63)
    	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 javax.faces.component.UIData.getDataModel(UIData.java:1063)
    	at javax.faces.component.UIData.setRowIndex(UIData.java:417)
    	at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
    	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
    	at javax.faces.component.UIData.encodeBegin(UIData.java:879)
    	at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:280)
    	at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
    	at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:199)
    	at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:194)
    	at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
    	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:216)
    	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.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
    	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
    	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:141)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
    	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
    	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:68)
    	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:433)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    	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:241)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Thread.java:619)
    Caused by: javax.naming.NameNotFoundException: Call 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:627)
    	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589)
    	at javax.naming.InitialContext.lookup(InitialContext.java:392)
    	at org.jboss.seam.Component.instantiateSessionBean(Component.java:1287)
    	at org.jboss.seam.Component.instantiate(Component.java:1273)
    	at org.jboss.seam.Component.newInstance(Component.java:1966)
    	... 73 more
    Merci de m'aider ça serait vraiment cool !

    gl0be

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Je ne pense pas que le problème ait à voir avec ta factory puisqu'il s'agit d'une erreur sur l'accès à "Call" et non "listCalls".
    Je ne suis pas du tout sur de ma réponse, mais peut-être faudrait-il fournir un constructeur sans paramètre à Call.

  3. #3
    Membre éclairé

    Inscrit en
    Février 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 122
    Points : 659
    Points
    659
    Par défaut
    déjà un objet liste en sessions c'est bourrin, ça serait mieux en conversation. Par défaut Seam met les EJB Stateful en conversation.

    Ton interface elle est bien annotée @Local et sans @Name ?
    je suis pas du tout sur de mon coup mais essai de lui mettre un nom qui commence par une minuscule aussi.

    et sinon essai de voir en mettant @AutoCreate sur la classe
    et une methode en @Create

    pour le constructeurs c'est pas necessaire j'ai plein d'objets de ce type sans constructeurs qui marchent très bien.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/03/2012, 16h39
  2. [PHPMailer] Could not instantiate mail function
    Par Sayrus dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/09/2007, 11h14
  3. Réponses: 2
    Dernier message: 23/05/2007, 11h40
  4. Réponses: 1
    Dernier message: 13/02/2007, 09h07
  5. Réponses: 1
    Dernier message: 22/11/2006, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo