Erro EJB

Pessoa criei um exemplo de aplicação com EJB e está dando o seguinte erro, alguem poderia me dizer o que pode ser?

SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
java.lang.RuntimeException: EJB Container initialization error
        at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:219)
        at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:197)
        at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:63)
        at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175)
        at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224)
        at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365)
        at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204)
        at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
        at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Error while binding JNDI name ejb.PessoaSessionBeanRemote__3_x_Internal_RemoteBusinessHome__ for EJB : PessoaSessionBean
        at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1530)
        at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:197)
        at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:161)
        at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:207)
        ... 32 more
Caused by: javax.naming.NameAlreadyBoundException [Root exception is org.omg.CosNaming.NamingContextPackage.AlreadyBound: IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0]
        at com.sun.jndi.cosnaming.ExceptionMapper.mapException(ExceptionMapper.java:75)
        at com.sun.jndi.cosnaming.CNCtx.callBindOrRebind(CNCtx.java:596)
        at com.sun.jndi.cosnaming.CNCtx.bind(CNCtx.java:621)
        at com.sun.jndi.cosnaming.CNCtx.bind(CNCtx.java:659)
        at javax.naming.InitialContext.bind(InitialContext.java:400)
        at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishCosNamingObject(GlassfishNamingManagerImpl.java:224)
        at com.sun.ejb.containers.BaseContainer$JndiInfo.publish(BaseContainer.java:5482)
        at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1515)
        ... 35 more
Caused by: org.omg.CosNaming.NamingContextPackage.AlreadyBound: IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0
        at org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read(AlreadyBoundHelper.java:60)
        at org.omg.CosNaming._NamingContextStub.bind(_NamingContextStub.java:67)
        at com.sun.jndi.cosnaming.CNCtx.callBindOrRebind(CNCtx.java:585)
        ... 41 more

SEVERE: Exception while loading the app
java.lang.RuntimeException: EJB Container initialization error
        at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:219)
        at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:197)
        at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:63)
        at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175)
        at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224)
        at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365)
        at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204)
        at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
        at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Error while binding JNDI name ejb.PessoaSessionBeanRemote__3_x_Internal_RemoteBusinessHome__ for EJB : PessoaSessionBean
        at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1530)
        at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:197)
        at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:161)
        at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:207)
        ... 32 more
Caused by: javax.naming.NameAlreadyBoundException [Root exception is org.omg.CosNaming.NamingContextPackage.AlreadyBound: IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0]
        at com.sun.jndi.cosnaming.ExceptionMapper.mapException(ExceptionMapper.java:75)
        at com.sun.jndi.cosnaming.CNCtx.callBindOrRebind(CNCtx.java:596)
        at com.sun.jndi.cosnaming.CNCtx.bind(CNCtx.java:621)
        at com.sun.jndi.cosnaming.CNCtx.bind(CNCtx.java:659)
        at javax.naming.InitialContext.bind(InitialContext.java:400)
        at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishCosNamingObject(GlassfishNamingManagerImpl.java:224)
        at com.sun.ejb.containers.BaseContainer$JndiInfo.publish(BaseContainer.java:5482)
        at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1515)
        ... 35 more
Caused by: org.omg.CosNaming.NamingContextPackage.AlreadyBound: IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0
        at org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read(AlreadyBoundHelper.java:60)
        at org.omg.CosNaming._NamingContextStub.bind(_NamingContextStub.java:67)
        at com.sun.jndi.cosnaming.CNCtx.callBindOrRebind(CNCtx.java:585)
        ... 41 more

Deste já agraço

creio que seja por aqui que vc deva investigar
Error while binding JNDI name ejb.PessoaSessionBean…

Mais o que poderia ser?

Vou postar os código

persistence


<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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">
  <persistence-unit name="SistemaCadastro-ejbPU" transaction-type="JTA">
    <provider>oracle.toplink.essentials.PersistenceProvider</provider>
    <jta-data-source>cadastro</jta-data-source>
    <properties>
      <property name="toplink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

sun-resorce

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
<resources>
    <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="mysql_SistemaCadastro_rootPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
        <property name="serverName" value="localhost"/>
        <property name="portNumber" value="3306"/>
        <property name="databaseName" value="SistemaCadastro"/>
        <property name="User" value="root"/>
        <property name="Password" value="open04"/>
        <property name="URL" value="jdbc:mysql://localhost:3306/SistemaCadastro"/>
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    </jdbc-connection-pool>
    <jdbc-resource enabled="true" jndi-name="cadastro" object-type="user" pool-name="mysql_SistemaCadastro_rootPool"/>
</resources>

Minha entidade

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package entidade;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Erick Macedo
 */
@Entity
@Table(name = "pessoa", catalog = "SistemaCadastro", schema = "")
@NamedQueries({
    @NamedQuery(name = "Pessoa.findAll", query = "SELECT p FROM Pessoa p"),
    @NamedQuery(name = "Pessoa.findById", query = "SELECT p FROM Pessoa p WHERE p.id = :id"),
    @NamedQuery(name = "Pessoa.findByNome", query = "SELECT p FROM Pessoa p WHERE p.nome = :nome"),
    @NamedQuery(name = "Pessoa.findByDataNascimento", query = "SELECT p FROM Pessoa p WHERE p.dataNascimento = :dataNascimento"),
    @NamedQuery(name = "Pessoa.findByRg", query = "SELECT p FROM Pessoa p WHERE p.rg = :rg"),
    @NamedQuery(name = "Pessoa.findByCpf", query = "SELECT p FROM Pessoa p WHERE p.cpf = :cpf"),
    @NamedQuery(name = "Pessoa.findByEndereco", query = "SELECT p FROM Pessoa p WHERE p.endereco = :endereco")})
public class Pessoa implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Basic(optional = false)
    @Column(name = "nome")
    private String nome;
    @Basic(optional = false)
    @Column(name = "dataNascimento")
    @Temporal(TemporalType.DATE)
    private Date dataNascimento;
    @Basic(optional = false)
    @Column(name = "rg")
    private String rg;
    @Basic(optional = false)
    @Column(name = "cpf")
    private String cpf;
    @Basic(optional = false)
    @Column(name = "endereco")
    private String endereco;

    public Pessoa() {
    }

    public Pessoa(Integer id) {
        this.id = id;
    }

    public Pessoa(Integer id, String nome, Date dataNascimento, String rg, String cpf, String endereco) {
        this.id = id;
        this.nome = nome;
        this.dataNascimento = dataNascimento;
        this.rg = rg;
        this.cpf = cpf;
        this.endereco = endereco;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Date getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNascimento(Date dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Pessoa)) {
            return false;
        }
        Pessoa other = (Pessoa) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "persistencia.Pessoa[id=" + id + "]";
    }

}

meu DAO

package dao;


import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceUnit;
import javax.transaction.UserTransaction;
import entidade.Pessoa;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Erick Macedo
 */
public class PessoaDAO {

    @Resource
    private UserTransaction userTransaction;
    @PersistenceUnit(unitName = "SistemaCadastro-ejbPU")
    private EntityManagerFactory entityManagerFactory;
    private EntityManager entityManager;

    public PessoaDAO() {
        this.entityManager = entityManagerFactory.createEntityManager();
    }

    public void gravar(Pessoa pessoa) throws Exception {
        try {
            userTransaction.begin();
            entityManager.joinTransaction();
            entityManager.persist(pessoa);
            userTransaction.commit();
        } catch (Exception ex) {
            try {
                userTransaction.rollback();
                throw new Exception(ex.getLocalizedMessage());
            } catch (Exception e) {
                throw new Exception(e.getLocalizedMessage());
            }
        } finally {
           entityManager.close();
        }
    }

    public void apagar(Pessoa pessoa) throws Exception {
        try {
            userTransaction.begin();
            entityManager.joinTransaction();
            entityManager.remove(pessoa);
            userTransaction.commit();
        } catch (Exception ex) {
            try {
                userTransaction.rollback();
                throw new Exception(ex.getLocalizedMessage());
            } catch (Exception e) {
                throw new Exception(e.getLocalizedMessage());
            }
        } finally {
           entityManager.close();
        }
    }

        public void atualizar(Pessoa pessoa) throws Exception {
        try {
            userTransaction.begin();
            entityManager.joinTransaction();
            entityManager.refresh(pessoa);
            userTransaction.commit();
        } catch (Exception ex) {
            try {
                userTransaction.rollback();
                throw new Exception(ex.getLocalizedMessage());
            } catch (Exception e) {
                throw new Exception(e.getLocalizedMessage());
            }
        } finally {
           entityManager.close();
        }
    }


}

Inteface EJB

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import javax.ejb.Remote;
import entidade.Pessoa;

/**
 *
 * @author Erick Macedo
 */
@Remote
public interface PessoaSessionBeanRemote {

    public void gravar(Pessoa pessoa) throws Exception;

    public void apagar(Pessoa pessoa) throws Exception;

    public void atualizar(Pessoa pessoa) throws Exception;
}

Classe EJB

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import dao.PessoaDAO;
import javax.ejb.Stateless;
import javax.inject.Inject;
import entidade.Pessoa;

/**
 *
 * @author Erick Macedo
 */
@Stateless
public class PessoaSessionBean implements PessoaSessionBeanRemote {

    @Inject
    private PessoaDAO pessoaDAO;

    public PessoaSessionBean() {
    }


    public void gravar(Pessoa pessoa) throws Exception {
        pessoaDAO.gravar(pessoa);
    }

    public void apagar(Pessoa pessoa) throws Exception {
        pessoaDAO.apagar(pessoa);
    }

    public void atualizar(Pessoa pessoa) throws Exception {
        pessoaDAO.atualizar(pessoa);
    }


}

Meu MB


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gerenciador;

import ejb.PessoaSessionBeanRemote;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import entidade.Pessoa;
import util.JSFUtil;

/**
 *
 * @author Erick Macedo
 */
@ManagedBean
@ViewScoped
public class PessoaMB {

    @EJB
    private PessoaSessionBeanRemote pessoaSessionBeanRemote;
    private Pessoa pessoa;
    private List<Pessoa> pessoas;

    public PessoaMB() {
        this.setPessoa(new Pessoa());
        this.setPessoas(new ArrayList<Pessoa>());
    }

    public Pessoa getPessoa() {
        return pessoa;
    }

    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    public List<Pessoa> getPessoas() {
        return pessoas;
    }

    public void setPessoas(List<Pessoa> pessoas) {
        this.pessoas = pessoas;
    }



    public void gravar(Pessoa pessoa) {
        try {
            pessoaSessionBeanRemote.gravar(pessoa);
            this.getPessoas().add(pessoa);
            JSFUtil.inserirMensagemSucesso("Pessoa gravada com sucesso");
        } catch (Exception ex) {
            JSFUtil.inserirMensagemErro("Erro ao gravar " + ex.getLocalizedMessage());
        }
    }

    public void apagar(Pessoa pessoa) {
        try {
            pessoaSessionBeanRemote.apagar(pessoa);
             this.getPessoas().remove(pessoa);
            JSFUtil.inserirMensagemSucesso("Pessoa apagada com sucesso");
        } catch (Exception ex) {
            JSFUtil.inserirMensagemErro("Erro ao apagar " + ex.getLocalizedMessage());
        }

    }

    public void atualizar(Pessoa pessoa) {
        try {
            pessoaSessionBeanRemote.atualizar(pessoa);
            this.getPessoas().remove(pessoa);
            this.getPessoas().add(pessoa);
            JSFUtil.inserirMensagemSucesso("Pessoa atualizada com sucesso");
        } catch (Exception ex) {
            JSFUtil.inserirMensagemErro("Erro ao atualizar " + ex.getLocalizedMessage());
        }
    }
}

Meu jsf


<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Cadastro de Pessoa</title>
    </h:head>
    <h:body>
        <h:form id="frmPessoa">
            <h:outputLabel for="itxNome"
                           value="Nome:"/>
            <h:inputText id="itxNome"
                         value="#{pessoaMB.pessoa.nome}"/>
            <h:outputLabel for="itxRg"
                           value="RG:"/>
            <h:inputText id="itxRg"
                         value="#{pessoaMB.pessoa.rg}"/>
            <h:outputLabel for="itxCpf"
                           value="CPF:"/>
            <h:inputText id="itxCpf"
                         value="#{pessoaMB.pessoa.cpf}"/>
            <h:panelGrid columns="3">
                <h:commandButton value="Gravar" 
                                 actionListener="#{pessoaMB.gravar}">
                    <f:ajax event="click"
                            render='@form'/>
                </h:commandButton>
                <h:commandButton value="Apagar" 
                                 actionListener="#{pessoaMB.apagar}">
                    <f:ajax event="click"
                            render='@form'/>
                </h:commandButton>
                <h:commandButton value="Atualizar" 
                                 actionListener="#{pessoaMB.atualizar}">
                    <f:ajax event="click"
                            render='@form'/>
                </h:commandButton>
            </h:panelGrid>
            <p:dataTable id="dtlPessoa"
                         value="#{pessoaMB.pessoas}"
                         selection="#{pessoaMB.pessoa}"
                         var="pessoa">
                  <p:column filterBy="#{pessoa.id}"
                          headerText="Id">
                    <h:outputText value="#{pessoa.nome}"/>
                </p:column>
                <p:column filterBy="#{pessoa.nome}"
                          headerText="Nome">
                    <h:outputText value="#{pessoa.nome}"/>
                </p:column>
                <p:column filterBy="#{pessoa.rg}"
                          headerText="RG">
                    <h:outputText value="#{pessoa.rg}"/>
                </p:column>
                <p:column filterBy="#{pessoa.cpf}"
                          headerText="CPF">
                    <h:outputText value="#{pessoa.cpf}"/>
                </p:column>
            </p:dataTable>
        </h:form>
    </h:body>
</html>