Q:

Problemas em carregar o dataTable PrimeFaces

Estou usando no aplicativo Java Web CDI, JPA e Maven, a minha aplicação já está inserindo registros no banco de dados sem nenhum problema, agora o que me resta é lista os registros no dataTable do PrimeFaces.
Como sou um programador com pouca experiência eu coloquei uma lista estática para depois aos poucos imigrar para uma lista carregada do banco de dados como mostra na figura a baixo.

porém quando vou imigrar a lista tentando carregar do banco de dados não tenho sucesso
minha classe bean ficou assim
package com.algaworks.carrinho.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;

import com.algaworks.carrinho.modelo.Produto;
import com.algaworks.carrinho.repository.Produtos;

@Named
@ViewScoped
public class ListaProdutoBean implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Inject
    private Produtos produtos;

    private List<Produto> produtosFiltrados;

    public ListaProdutoBean(){
        this.produtosFiltrados = new ArrayList<Produto>();
    }

    public List<Produto> getProdutos(){

        return this.produtosFiltrados = this.produtos.getFindAll();
    }

    public List<Produto> getProdutosFiltrados() {
        return produtosFiltrados;
    }

    public void setProdutos(Produtos produtos) {
        this.produtos = produtos;
    }

    public void setProdutosFiltrados(List<Produto> produtosFiltrados) {
        this.produtosFiltrados = produtosFiltrados;
    }

}

Meu arquivo xhtml ficou assim
<ui:composition template="/WEB-INF/template/LayoutPadrao.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">

    <ui:define name="titulo">Dashboard</ui:define>
    <ui:define name="corpo">

        <h:form>
            <p:messages autoUpdate="true" closable="true" />

            <p:toolbar>
                <p:toolbarGroup align="left">
                    <p:commandButton value="Salvar" id="botaoSalvar"
                        action="#{cadastroProdutoBean.salvar}" update="@form" />

                </p:toolbarGroup>
            </p:toolbar>

            <p:panelGrid columns="2" id="panel">

                <p:outputLabel value="Nome" for="nome" />
                <p:inputText id="nome" size="50"
                    value="#{cadastroProdutoBean.produto.nome}" />

                <p:outputLabel value="Descrição" for="descricao" />
                <p:inputText id="descricao" size="100"
                    value="#{cadastroProdutoBean.produto.descricao}" />

                <p:outputLabel value="Preço" for="preco" />
                <p:inputText id="preco" size="50"
                    value="#{cadastroProdutoBean.produto.preco}" />

                <p:outputLabel value="Quantidade" for="qtd" />
                <p:inputText id="qtd" size="10"
                    value="#{cadastroProdutoBean.produto.quantidade}" />

            </p:panelGrid>
        </h:form>
        <p:separator style="margin-top: 20px" />

        <h:form>
            <p:dataTable id="produtoTable"
                value="#{listaProdutoBean.produtosFiltrados}" var="produto"
                rows="20">

                <p:column headerText="Nome">
                    <h:outputText value="#{produto.nome}" />
                </p:column>

                <p:column headerText="Descrição">
                    <h:outputText value="#{produto.descricao}" />
                </p:column>

                <p:column headerText="Preço">
                    <h:outputText value="#{produto.preco}" />
                </p:column>

                <p:column headerText="Quantidade">
                    <h:outputText value="#{produto.quantidade}" />
                </p:column>

            </p:dataTable>

        </h:form>
    </ui:define>

</ui:composition>

tenho que criar uma maneira que o minha classe bean ficou correta para carregar a lista retirada do banco.
aqui esta o link da ultima versão das modificações que fiz na aplicação
https://github.com/wladyband/Carrinho/tree/master/Carrinho

A:

No datatable, você usou o método:  value="#{listaProdutoBean.produtosFiltrados}"  que no código do ManagedBean só retorna a variável, se usar o método getProdutos() é que executará o findAll. 
Como incluiu o código no github, tomei a liberdade de utilizar a sua classe Pojo do seu projeto para gerar uma aplicação com o Framework Demoiselle (http://demoiselle.sourceforge.net/docs/framework/reference/2.4.2/html/), utilizando a ferramenta de geração automática de código Demoiselle Nimble: http://demoiselle.sourceforge.net/docs/tools/nimble/1.2.0/html/ 
O resultado está aqui:  https://github.com/esaito/ExemplosDemoiselle/tree/master/carrinho
Pode ser uma opção para diminuir um pouco do seu trabalho.
A aplicação está pronta para ser executada no servidor JBoss 7.1, já utilizando o banco de dados embarcado (H2) do mesmo servidor.
O projeto Demoiselle oferece pacotes de instalação do ambiente pré-configurados que podem facilitar o desenvolvimento, consulte aqui: http://demoiselle.sourceforge.net/infra/2.0.0/userguide.html

