Minha index.xhtml não enxerga o método para exclusão

Bom pessoa estou com um problema, não condigo fazer funcionar meu método para exclusão de um objeto, me parece que minha view nem ao menos enxerga o método.

Minha classe Dao

package br.com.drem.daos;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;

import br.com.drem.conexao.*;
import br.com.drem.tabelas.Produtos;

public class ProdutoDao {
	private org.hibernate.Session sessao;
	private org.hibernate.Transaction transacao;

	public void salvar(Produtos produtos) {
		try {
			/* abro uma nova sessão */
			this.sessao = HibernateUtil.getSessionFactory().openSession();
			/* crio uma nova tranzação */
			this.transacao = this.sessao.beginTransaction();
			/* com minha sessão eu salvo os produtos passados por parametro */
			this.sessao.save(produtos);
			/* e comito com a tranzação */
			this.transacao.commit();
		} catch (HibernateException e) {
			System.out.println("não conseguimos salvar seus dados"
					+ e.getMessage());
		} finally {
			try {
				this.sessao.close();
			} catch (Throwable e) {
				System.out.println("não foi possivel fechar sua sessão "
						+ e.getMessage());

			}
		}
	} 
	public void atualizar(Produtos produtos) {
		try {
			this.sessao = HibernateUtil.getSessionFactory().openSession();
			this.transacao = this.sessao.beginTransaction();
			this.sessao.update(produtos);
			this.transacao.commit();
		} catch (HibernateException e) {
			System.out.println("não conseguimos atualizar seus dados"
					+ e.getMessage());
		} finally {
			try {
				this.sessao.close();
			} catch (Throwable e) {
				System.out.println("não foi possivel atualizar"
						+ e.getMessage());

			}
		}
	}

	public void remover(Produtos produto) {
		try {
			sessao = HibernateUtil.getSessionFactory().openSession();
			transacao = sessao.beginTransaction();
			sessao.delete(produto);
			transacao.commit();
		} catch (HibernateException e) {
			System.out.println("Não foi possível excluir o Produto. Erro: "
					+ e.getMessage());
		} finally {
			try {
				/*se a sessão estiver aberta ... feche*/
				if (this.sessao.isOpen()) {
					this.sessao.close();
				}
			} catch (Throwable e) {
				System.out
						.println("Erro ao fechar operação de exclusão. Mensagem: "
								+ e.getMessage());
			}
		}
	}

	@SuppressWarnings("unchecked")
	public List<Produtos> listar() {
		List<Produtos> produtos = null;
		try {
			this.sessao = HibernateUtil.getSessionFactory().openSession();
			this.transacao = this.sessao.beginTransaction();
			Criteria filtro = this.sessao.createCriteria(Produtos.class);
			produtos = (List<Produtos>) filtro.list();
			this.transacao.commit();
		} catch (Throwable e) {
			if (this.transacao.isActive())
				this.transacao.rollback();
		} finally {
			try {
				if (this.sessao.isOpen())
					this.sessao.close();
			} catch (Throwable e) {
				System.out
						.println("Erro ao fechar operação de listagem. Erro: "
								+ e.getMessage());
			}
		}
		return produtos;
	}
	
	public Produtos buscar() {
		Produtos produto = new Produtos();
		try {
			this.sessao = HibernateUtil.getSessionFactory().openSession();
			this.transacao = this.sessao.beginTransaction();
			Criteria filtro = this.sessao.createCriteria(Produtos.class);
			produto.setIdProduto(produto.getIdProduto());
			produto = (Produtos) filtro.list();
			this.transacao.commit();
		} catch (Throwable e) {
			if (this.transacao.isActive())
				this.transacao.rollback();
		} finally {
			try {
				if (this.sessao.isOpen())
					this.sessao.close();
			} catch (Throwable e) {
				System.out
						.println("Erro ao fechar operação de listagem. Erro: "
								+ e.getMessage());
			}
		}
		return produto;
	}


}

Minha classe regra de negocios

package br.com.drem.rn;

import java.util.List;
import br.com.drem.daos.*;
import br.com.drem.tabelas.*;


public class RegraNegocio {	

	private ProdutoDao prodDao = new ProdutoDao();
	private Produtos produtos = new Produtos();

	public String salva(Produtos prod){		
		prodDao.salvar(prod);
		return null;
	}
	
	public List<Produtos> listar()	{
		return prodDao.listar();
	}
	public void remover(){
		prodDao.remover(produtos);
	}

	public Produtos getProdutos() {
		return produtos;
	}

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



}

Minha controller

package br.com.drem.controller;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import java.io.IOException;
import java.util.List;

import br.com.drem.daos.ProdutoDao;
import br.com.drem.rn.*;
import br.com.drem.tabelas.*;

@ManagedBean
public class CadastroProduto {

	RegraNegocio rn = new RegraNegocio();
	Produtos prod = new Produtos();
	ProdutoDao pDao = new ProdutoDao();
	List<Produtos> produtos = null;

	public String salva() {
		rn.salva(this.prod);
		return "produto";
	}

	public String listar() {
		produtos = rn.listar();
		return "Listado";
	}

	public String remover(){
		System.out.println("nem chegou");
		rn.remover();
		return"produto";
	}

	public void submit(ActionEvent event) {
		FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
				"Correct", "Correct");
		FacesContext.getCurrentInstance().addMessage(null, msg);
		try {
			FacesContext.getCurrentInstance().getExternalContext().redirect("../jsf/produto.xhtml");
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
		}
	}
	
	

	public RegraNegocio getRn() {
		return rn;
	}

	public void setRn(RegraNegocio rn) {
		this.rn = rn;
	}

	public Produtos getProd() {
		return prod;
	}

	public void setProd(Produtos prod) {
		this.prod = prod;
	}

	public List<Produtos> getProdutos() {
		return produtos;
	}

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

}

e finalmente a minha index.xhtml

<?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:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">
<h:head>
	<h:outputStylesheet library="css" name="estilo.css" />
</h:head>
<h:body>
	<ui:composition template="/templates/layout.xhtml">
		<ui:define name="title">Produtos do estoque</ui:define>
		<ui:define name="content">
				<h:outputText value="Lista de produtos"></h:outputText>
				<h:form>
					<h:panelGroup id="lista">
						<h:dataTable value="#{cadastroProduto.produtos}" var="produto"
							border="1">

							<h:column headerText="Indice">
								<h:outputText value="#{produto.idProduto}" />
							</h:column>

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

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

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

							<h:column headerText="Valor">
								<h:outputText value="#{produto.valor}" />
							</h:column>

							<h:column headerText="Ações">
								<h:commandButton action="#{cadastroProduto.remover}"
									value="remover" id="produto" for="" />
							</h:column>
						</h:dataTable>
					</h:panelGroup>

					<h:commandButton value="Atualizar"
						action="#{cadastroProduto.listar}" ajax="false">
						<f:ajax execute="@form" render="lista"></f:ajax>
					</h:commandButton>
				</h:form>
		</ui:define>
	</ui:composition>
</h:body>
</html>

minha pilha

Nov 16, 2013 10:51:40 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: hibernate.cfg.xml
Nov 16, 2013 10:51:40 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: hibernate.cfg.xml
Nov 16, 2013 10:51:40 PM org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
Nov 16, 2013 10:51:40 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
Nov 16, 2013 10:51:40 PM org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator instantiateExplicitConnectionProvider
INFO: HHH000130: Instantiating explicit connection provider: org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
Nov 16, 2013 10:51:40 PM org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider configure
INFO: HHH010002: C3P0 using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost/ComunicaWeb
Nov 16, 2013 10:51:40 PM org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider configure
INFO: HHH000046: Connection properties: {user=root, password=****}
Nov 16, 2013 10:51:40 PM org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider configure
INFO: HHH000006: Autocommit mode: false
Nov 16, 2013 10:51:40 PM com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
Informações: Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@3ba4118a [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@b3889252 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kfsx8yrm7isp150k4v5|6982cbcc, idleConnectionTestPeriod -> 3000, initialPoolSize -> 5, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 200, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 20, maxStatements -> 50, maxStatementsPerConnection -> 0, minPoolSize -> 5, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@2ad021e4 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> z8kfsx8yrm7isp150k4v5|254d0ebd, jdbcUrl -> jdbc:mysql://localhost/ComunicaWeb, properties -> {user=******, password=******} ], preferredTestQuery -> null, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> z8kfsx8yrm7isp150k4v5|4f59503f, numHelperThreads -> 3 ]
Nov 16, 2013 10:51:40 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
Nov 16, 2013 10:51:40 PM org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
Nov 16, 2013 10:51:40 PM org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
Nov 16, 2013 10:51:40 PM org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000228: Running hbm2ddl schema update
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000102: Fetching database metadata
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000396: Updating schema
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000261: Table found: ComunicaWeb.produtos
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000037: Columns: [quantidade, valor, nome, idproduto, descricao]
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000108: Foreign keys: []
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000126: Indexes: [primary]
Nov 16, 2013 10:51:40 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
Hibernate: 
    /* criteria query */ select
        this_.idProduto as idProdut1_0_0_,
        this_.descricao as descrica2_0_0_,
        this_.nome as nome3_0_0_,
        this_.quantidade as quantida4_0_0_,
        this_.valor as valor5_0_0_ 
    from
        produtos this_

bom estou utilizando as seguintes tecnologias Hibernate, jsf, eclipse, mysql