Sem não consegue gerar nenhum componente

1 resposta
Romildo_Paiter

E ai pessoal,

O meu seam não esta conseguindo instanciar, nenhum componente, eu já procurei na internet, e falava alguma coisa sobre o uma configuração no components.xml, mas já fiz praticamente de tudo e não consegue gerar nada. Alguem já passou por isso.?

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- Persistence deployment descriptor for dev profile -->
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
             version="1.0">
            
   <persistence-unit name="SofistCar" transaction-type="JTA">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <jta-data-source>java:/SofistCarDatasource</jta-data-source>
      <properties>
         <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
         <property name="hibernate.hbm2ddl.auto" value="update"/>
         <property name="hibernate.show_sql" value="true"/>
         <property name="hibernate.format_sql" value="true"/>
         <property name="jboss.entity.manager.factory.jndi.name" value="java:/SofistCarEntityManagerFactory"/>
      </properties>
   </persistence-unit>

</persistence>

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:persistence="http://jboss.com/products/seam/persistence"
            xmlns:drools="http://jboss.com/products/seam/drools"
            xmlns:bpm="http://jboss.com/products/seam/bpm"
            xmlns:security="http://jboss.com/products/seam/security"
            xmlns:mail="http://jboss.com/products/seam/mail"
            xmlns:web="http://jboss.com/products/seam/web"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation=
                "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
                 http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
                 http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd
                 http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd
                 http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
                 http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd
                 http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
                 http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd">
 
      <core:init debug="true" jndi-pattern="@jndiPattern@"/>
  
<!--   <core:init debug="true" jndi-pattern="SofistCar-ear/#{ejbName}/local"/>-->
  
 
   <core:manager concurrent-request-timeout="500"
                 conversation-timeout="120000"
                 conversation-id-parameter="cid"
                 parent-conversation-id-parameter="pid"/>
 
   <!-- Make sure this URL pattern is the same as that used by the Faces Servlet -->
   <web:hot-deploy-filter url-pattern="*.seam"/>
 
   <persistence:managed-persistence-context
        name="entityManager" auto-create="true"
        persistence-unit-jndi-name="java:/SofistCarEntityManagerFactory"/>       
 
   <drools:rule-base name="securityRules">
      <drools:rule-files><value>/security.drl</value></drools:rule-files>
   </drools:rule-base>
 
   <security:rule-based-permission-resolver security-rules="#{securityRules}"/>
 
   <security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>
 
   <event type="org.jboss.seam.security.notLoggedIn">
      <action execute="#{redirect.captureCurrentView}"/>
   </event>
   <event type="org.jboss.seam.security.loginSuccessful">
      <action execute="#{redirect.returnToCapturedView}"/>
   </event>
 
   <mail:mail-session host="localhost" port="25"/>
 
   <!-- For use with jBPM pageflow or process management -->
   <!--
   <bpm:jbpm>
      <bpm:process-definitions></bpm:process-definitions>
      <bpm:pageflow-definitions></bpm:pageflow-definitions>
   </bpm:jbpm>
   -->
 
</components>

components.properties

#
#Mon Jan 17 11:00:37 AMST 2011
jndiPattern=#{ejbName}/local
embeddedEjb=false

RegistroBean.java

package br.com.sofistcar.beans;

import java.util.List;
 
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
 
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.faces.FacesMessages;
 
import br.com.sofistcar.model.User;
 
@Name("registro")
@Scope(ScopeType.EVENT)
@Stateful
public class RegistroBean implements Registro{
   
    @In
    private User currentUser;
   
    @In("#{entityManager}")
    EntityManager em;
   
    @In(create=true)
    private transient FacesMessages facesMessages;
   
    private String verifyPassword;
   
    public String getVerifyPassword() {
        return verifyPassword;
    }
 
    public void setVerifyPassword(String verifyPassword) {
        this.verifyPassword = verifyPassword;
    }
 
    public String doRegister() {
        if(!currentUser.getPassword().equals(verifyPassword)){
            facesMessages.add("Password didn`t match");
            verifyPassword = null;
            return null;
        }
       
        List existing = em.createQuery("select u.username from User u " +
                "where u.username = :uname").setParameter("uname",
                        currentUser.getUsername())
                .getResultList();
       
        if(existing.size() != 0) {
            facesMessages.add("User exists");
            return null;
        }
        else{
            em.persist(currentUser);
            facesMessages.add("User add with success");
            return "login";
        }
       
    }
 
    @Destroy
    @Remove
    public void destroy() {
    }
       
}

register.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:s="http://jboss.com/products/seam/taglib"
    template="/caveat/template.xhtml">
 
    <ui:define name="screen">Registro</ui:define>
    <ui:define name="sidebar">
        Área de Registro
    </ui:define>
    <ui:define name="content">
        <h:form>
            <f:facet name="beforeInvalidField">
                <h:graphicImage value="/img/attention.gif" width="18" height="18"
                    styleClass="attentionImage" />
            </f:facet>
            <f:facet name="afterInvalidField">
                <s:message />
            </f:facet>
            <div class="errors" align="center"><h:messages
                globalOnly="true" /></div>
            <s:validateAll>
                <div class="entry">
                <div class="label">Username:</div>
                <div class="input"><s:decorate>
                    <h:inputText size="16" required="true"
                        value="#{currentUser.username}" />
                </s:decorate></div>
                </div>
                <div class="entry">
                <div class="label">Password:</div>
                <div class="input"><s:decorate>
                    <h:inputSecret size="16" required="true"
                        value="#{currentUser.password}" />
                </s:decorate></div>
                </div>
                <div class="entry">
                <div class="label">Repeat password:</div>
                <div class="input"><s:decorate>
                    <h:inputSecret size="16" required="true"
                        value="#{registro.verifyPassword}" />
                </s:decorate></div>
                </div>
                <div class="entry">
                <div class="label">Firstname:</div>
                <div class="input"><s:decorate>
                    <h:inputText size="32" required="true"
                       value="#{currentUser.firstname}" />
                </s:decorate></div>
                </div>
            </s:validateAll>
            <div class="entry">
            <div class="label">&#160;</div>
            <div class="input"><h:commandButton value="Register"
                styleClass="button" action="#{registro.doRegister}" /> <h:commandButton
                value="Cancel" styleClass="button" action="login" immediate="true" />
            </div>
            </div>
        </h:form>
    </ui:define>
</ui:composition>

Exception happen

10:59:29,785 SEVERE [viewhandler] Error Rendering View[/caveat/register.xhtml]

org.jboss.seam.InstantiationException: Could not instantiate Seam component: registro

at org.jboss.seam.Component.newInstance(Component.java:2170)

at org.jboss.seam.Component.getInstance(Component.java:2024)

at org.jboss.seam.Component.getInstance(Component.java:1986)

at org.jboss.seam.Component.getInstance(Component.java:1980)

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:148)

at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:51)

at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)

at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)

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.UIOutput.getValue(UIOutput.java:184)

at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)

at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:285)

at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:154)

at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)

at org.jboss.seam.ui.util.cdk.RendererBase.renderChild(RendererBase.java:190)

at org.jboss.seam.ui.util.cdk.RendererBase.renderChildren(RendererBase.java:166)

at org.jboss.seam.ui.renderkit.DecorateRendererBase.doEncodeChildren(DecorateRendererBase.java:152)

at org.jboss.seam.ui.util.cdk.RendererBase.encodeChildren(RendererBase.java:92)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)

at org.jboss.seam.ui.util.cdk.RendererBase.renderChild(RendererBase.java:186)

at org.jboss.seam.ui.util.cdk.RendererBase.renderChildren(RendererBase.java:166)

at org.jboss.seam.ui.renderkit.ValidateAllRendererBase.doEncodeChildren(ValidateAllRendererBase.java:33)

at org.jboss.seam.ui.util.cdk.RendererBase.encodeChildren(RendererBase.java:92)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)

at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)

at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)

at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)

at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)

at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)

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.IdentityFilter.doFilter(IdentityFilter.java:40)

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:178)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:295)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:373)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:500)

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:60)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)

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:235)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)

at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)

at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)

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:158)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)

at java.lang.Thread.run(Thread.java:636)

Caused by: javax.naming.NameNotFoundException: RegistroBean not bound

at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)

at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)

at org.jnp.server.NamingServer.getObject(NamingServer.java:785)

at org.jnp.server.NamingServer.lookup(NamingServer.java:396)

at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)

at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)

at javax.naming.InitialContext.lookup(InitialContext.java:409)

at org.jboss.seam.Component.instantiateSessionBean(Component.java:1403)

at org.jboss.seam.Component.instantiate(Component.java:1367)

at org.jboss.seam.Component.newInstance(Component.java:2148)

 83 more

[/code]

Esqueci alguma coisa???

Valeu, pessoal.

1 Resposta

wiltonor

Você colocou o arquivo seam.properties na raiz do pacote?

Abçs,

Wilton.

Criado 21 de janeiro de 2011
Ultima resposta 21 de jan. de 2011
Respostas 1
Participantes 2