Exceção ao excluir Objeto do meu DataTable

Bom galera, estou tentando excluir um objeto no meu DataTable e não estou conseguindo. Apresenta este Exceção:
org.hibernate.SessionException: Session is closed!

`
<p:accordionPanel>
<p:tab title=“Base de Dados”>
<p:dataTable value="#{consultaAgenda.listAgendamento}"
var=“obj” width=“100%” styleClass="cabecalho2"
rows=“30” paginator=“true” paginatorAlwaysVisible="false"
emptyMessage=“Não existe agendamentos.” id=“tableagenda”>

			<f:facet name="header">Lista de Agendamentos</f:facet>
			
			<p:column headerText="Cliente" sortBy="#{obj.nome}">
				<div style="text-align: center;">
					<p:outputLabel value="#{obj.nome}" styleClass="centro" />
				</div>
			</p:column>

			<p:column headerText="Tel. Celular" width="120" >
				<div style="text-align: center;">
					<p:outputLabel value="#{obj.telefoneCelular}" styleClass="centro" />
				</div>
			</p:column>

			<p:column headerText="Tel. Residencial">
				<div style="text-align: center;">
					<p:outputLabel value="#{obj.telefoneResidencial}" styleClass="centro" />
				</div>
			</p:column>

			<p:column headerText="Funcionario" width="10%" sortBy="#{obj.funcionario.funcNome}">
				<div style="text-align: center;">
					<p:outputLabel value="#{obj.funcionario.funcNome}" styleClass="centro" />
				</div>
			</p:column>

			<p:column headerText="Descrição do Serviço" width="20%">
				<div style="text-align: center;">
					<h:outputLabel value="#{obj.descricaoServ}"  />
				</div>
			</p:column>

			<p:column headerText="Agendado" width="13%" sortBy="#{obj.data}">
				<div style="text-align: center">
					<componentedataHora:outputData valor="#{obj.data}" styleClass="centro" />
				</div>
			</p:column>

			<p:column headerText="Hora" width="55" sortBy="#{obj.hora}">
				<componentedataHora:outputhora hora="#{obj.hora}" styleClass="centro" />
			</p:column>

			<p:column headerText="Editar" width="50">
				<div style="text-align: center;">
					<p:button outcome="cadastroagendamento" icon="ui-icon-pencil">	
						<f:param name="codigo" value="#{obj.id}" />
					</p:button>
				</div>
			</p:column>

			<p:column headerText="Excluir" width="50">
				<div style="text-align: center;">
					<p:commandButton icon="ui-icon-trash" style="text-align:center;" action="#{consultaAgenda.excluir()}" update="@form">
						     <f:setPropertyActionListener value="#{obj}" target="#{consultaAgenda.agendamentoSelecionado}" /> <!-- Pega Objeto selecionado -->										
						<p:confirm header="Excluir agendamento" message="Deseja excluir este agendamento?" icon="ui-icon-alert" />
					</p:commandButton>
				</div>
			</p:column>		
			
		</p:dataTable>
				
	   <p:confirmDialog global="true">
	  		<p:commandButton value="sim"  styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
	     	<p:button value="não"  styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
		</p:confirmDialog>	
			
	</p:tab>
	</p:accordionPanel>			
	</h:form>
</ui:define>

</ui:composition>
/**
* Exclui
*/
@Override

   public void excluir(Agendamento agendamento) {
	session.delete(agendamento);

}

`

` public void excluir(Agendamento agendamento) throws RegraNegocioException {

try {	                     
      agendamentos.excluir(agendamento);
	} catch (Exception e) {
		e.printStackTrace();
		throw new RegraNegocioException("Agendamento não pode ser Excluido");
	}}

`

Erro
org.hibernate.SessionException: Session is closed! at org.hibernate.internal.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:130) at org.hibernate.internal.SessionImpl.fireDelete(SessionImpl.java:915) at org.hibernate.internal.SessionImpl.delete(SessionImpl.java:855) at repository.DAO.AgendametoDAO.excluir(AgendametoDAO.java:57) at service.GestaoAgendamentos.excluir(GestaoAgendamentos.java:66) at view.ConsultaAgenda.excluir(ConsultaAgenda.java:64) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.el.parser.AstValue.invoke(AstValue.java:247) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)

A session do HIbernate esta fechada, como você esta fazendo para injetar a dependência da session no seu AgendametoDAO? pode postar todo ele? e também a classe que gerencia a session.