Exception lors de l'attribution de l'usine de la sessionexception de pointeur nul générée par SessionFactory au printemps et en veille prolongée
java.lang.NullPointerException
at com.span.hotelmanagement.persistance.CustomerDAOImpl.saveCustomer(CustomerDAOImpl.java:41)
at com.span.hotelmanagement.business.CustomerRequestManagerImpl.saveUser(CustomerRequestManagerImpl.java:30)
at com.span.hotelmanagement.controller.CustomerBean.saveCustomer(CustomerBean.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:273)
at org.jboss.el.parser.AstMethodSuffix.getValue(AstMethodSuffix.java:59)
at org.jboss.el.parser.AstMethodSuffix.invoke(AstMethodSuffix.java:65)
at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:148)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:775)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
ApplicationContext xml
<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
\t xmlns:context="http://www.springframework.org/schema/context"
\t xmlns:jee="http://www.springframework.org/schema/jee"
\t xmlns:tx="http://www.springframework.org/schema/tx"
\t xmlns:p="http://www.springframework.org/schema/p"
\t xmlns:task="http://www.springframework.org/schema/task"
\t xsi:schemaLocation="
\t http://www.springframework.org/schema/beans
\t http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
\t http://www.springframework.org/schema/context
\t http://www.springframework.org/schema/context/spring-context-3.2.xsd
\t http://www.springframework.org/schema/jee
\t http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
\t http://www.springframework.org/schema/tx
\t http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
\t http://www.springframework.org/schema/task
\t http://www.springframework.org/schema/task/spring-task-3.2.xsd
\t http://www.springframework.org/schema/security
\t http://www.springframework.org/schema/security/spring-security-3.0.xsd">
\t \t
\t <context:component-scan base-package="com.span.hotelmanagement">
\t <context:include-filter type="aspectj" expression="com.span.hotelmanagement.*" />
</context:component-scan>
\t <context:annotation-config />
\t <!-- Newly changed query -->
\t <!-- <context:property-placeholder location=classpath:database.properties/> -->
\t
\t <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
\t \t \t p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.url}" p:username="${jdbc.username}"
\t \t \t p:password="${jdbc.password}"/>-->
\t
\t <!-- Create DataSource Bean -->
<!-- <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/TestDB"/>
</bean>
-->
\t <!-- <jee:jndi-lookup id="dataSource"
\t jndi-name="java:comp/env/jdbc/hotelmanagement" expected-type="javax.sql.DataSource" />
\t -->
\t
\t <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/hotelmanagement" />
<property name="username" value="root" />
<property name="password" value="[email protected]" />
</bean>
\t <bean id="sessionFactory"
\t \t class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
\t \t <property name="dataSource" ref="dataSource" />
\t \t
\t \t <property name="configLocation">
\t \t \t <value>./WEB-INF/hibernate.cfg.xml</value>
\t \t </property>
\t \t <!-- <property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property> -->
\t \t <property name="hibernateProperties">
\t \t \t <map>
\t \t \t \t <entry key="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
\t \t \t \t <entry key="hibernate.show_sql" value="true" />
\t \t \t \t <!-- <entry key="hibernate.hbm2ddl.auto" value="create"/> -->
\t \t \t </map>
\t \t </property>
\t </bean>
\t <tx:annotation-driven/> <!--transaction-manager="transactionManager"-->
\t <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"
\t \t \t p:sessionFactory-ref="sessionFactory" />
\t <!-- <bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
\t \t <property name="scopes">
\t \t \t <map>
\t \t \t \t <entry key="view">
\t \t \t \t \t <bean class="com.span.hotelmanagement.common.SpringViewScoped" />
\t \t \t \t </entry>
\t \t \t </map>
\t \t </property>
\t </bean> -->
\t
\t <bean id="viewResolver"
\t \t class="org.springframework.web.servlet.view.InternalResourceViewResolver">
\t \t <property name="cache" value="true" />
\t \t <property name="viewClass"
\t \t \t value="org.springframework.web.servlet.view.JstlView" />
\t \t
\t </bean>
\t
\t
\t <task:annotation-driven />
</beans>
classe client OAC Impl
package com.span.hotelmanagement.persistance;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.span.hotelmanagement.entity.CustomerEntry;
@Repository
public class CustomerDAOImpl extends AbstractGenericDAOHibernate<CustomerEntry, Long>
implements CustomerDAO,Serializable{
/**
*
*/
private static final long serialVersionUID = -276032705968481483L;
/* @Autowired
@Qualifier("sessionFactory")
public SessionFactory sessionFactory;*/
public void deleteCustomer(CustomerEntry customer) {
}
public CustomerEntry saveCustomer(CustomerEntry customer) {
CustomerEntry cObj=null;
Session session =null;
try
{
session = sessionFactory.getCurrentSession();
AbstHibernateUtil.CreateSession(sessionFactory);
AbstHibernateUtil.beginTransaction();
if(customer != null)
{
cObj= new CustomerEntry();
cObj=(CustomerEntry)save(customer);
}
//AbstHibernateUtil.commit();
}
catch(Exception e)
{
e.printStackTrace();
}
finally{
AbstHibernateUtil.endTransaction();
AbstHibernateUtil.closeSession();
}
return cObj;
}
public List<CustomerEntry> getCategoryList() {
return null;
}
// TODO Auto-generated method stub
}
lors du débogage du code seesionFactoru.getsession renvoie la valeur null. S'il vous plaît me aider comme il est d'arrêter la poursuite de la mise en œuvre
Veuillez fournir votre configuration «CustomerDAOImpl» et de ressort et expliquer ce que vous allez faire. L'exception de publication seulement devrait fermer cette question. –
salut j'ai posté toutes les classes liées – user3933293