Neo4j + Hibernate + Spring Security HttpDriver.autoCommitUrl Null Pointer Exception

时间:2016-05-08 04:52:09

标签: hibernate spring-security neo4j spring-data-neo4j-4 neo4j-ogm

我得到空指针异常。在调用GraphRepository的findAll方法时。调试autoCommitUrl方法后,我得到了该方法没有从driverConfig对象获取URL,驱动程序类名和凭据,虽然我已经在neo4jConfiguraiton文件中配置了它。

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/application-context.xml,/WEB-INF/security/application-security.xml </param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


  <!-- Filter for Spring Security -->
     <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 

   <!--End of  Filter for Spring Security -->

    <!-- Configuration  To Handle any 404  -->
    <!-- <servlet>
        <servlet-name>rest-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>throwExceptionIfNoHandlerFound</param-name>
            <param-value>true</param-value>
        </init-param>
    </servlet> -->

    <!-- End of Configuration to handle 404 -->

    <!-- Session Timeout -->
    <session-config>
        <session-timeout>10</session-timeout>
        <tracking-mode>COOKIE</tracking-mode>
    </session-config>
</web-app>


package com.ewp.configuration;


import org.neo4j.ogm.config.Configuration;
import org.neo4j.ogm.session.SessionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.data.neo4j.config.Neo4jConfiguration;
import org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories;
import org.springframework.transaction.annotation.EnableTransactionManagement;



@org.springframework.context.annotation.Configuration
@EnableNeo4jRepositories(basePackageClasses=com.ewp.dao.IPersonRepository.class)
@EnableTransactionManagement
public class AppConfiguration extends Neo4jConfiguration{

    @Bean
    public Configuration getConfiguration() {
        System.out.println("in get config");
       Configuration config = new Configuration();
       config
           .driverConfiguration()
           .setDriverClassName("org.neo4j.ogm.drivers.http.driver.HttpDriver")
           .setCredentials("neo4j","mosaik")
           .setURI("http://localhost:7474");


       System.out.println(config);
       return config;
    }

    @Bean
    public SessionFactory getSessionFactory() {
        System.out.println("in session factory");
        return new SessionFactory(getConfiguration(),"com.ewp.entities");
    }

}




      java.lang.NullPointerException
            org.neo4j.ogm.drivers.http.driver.HttpDriver.autoCommitUrl(HttpDriver.java:143)
            org.neo4j.ogm.drivers.http.driver.HttpDriver.requestUrl(HttpDriver.java:170)
            org.neo4j.ogm.drivers.http.driver.HttpDriver.request(HttpDriver.java:80)
            org.neo4j.ogm.session.Neo4jSession.requestHandler(Neo4jSession.java:432)
            org.neo4j.ogm.session.delegates.LoadByTypeDelegate.loadAll(LoadByTypeDelegate.java:72)
            org.neo4j.ogm.session.delegates.LoadByTypeDelegate.loadAll(LoadByTypeDelegate.java:110)
            org.neo4j.ogm.session.Neo4jSession.loadAll(Neo4jSession.java:97)
            org.springframework.data.neo4j.template.Neo4jTemplate.loadAll(Neo4jTemplate.java:100)
            sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            java.lang.reflect.Method.invoke(Unknown Source)
            org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
            org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
            org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
            org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
            org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
            com.sun.proxy.$Proxy42.loadAll(Unknown Source)
            org.springframework.data.neo4j.repository.GraphRepositoryImpl.findAll(GraphRepositoryImpl.java:125)
            org.springframework.data.neo4j.repository.GraphRepositoryImpl.findAll(GraphRepositoryImpl.java:120)
            sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            java.lang.reflect.Method.invoke(Unknown Source)
            org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:503)
            org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:488)
            org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:460)
            org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:61)
            org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
            org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
            org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
            org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
            org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
            org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
            com.sun.proxy.$Proxy46.findAll(Unknown Source)
            sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            java.lang.reflect.Method.invoke(Unknown Source)
            org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
            org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
            com.sun.proxy.$Proxy35.findAll(Unknown Source)
            com.ewp.manager.impl.PersonManagerImpl.findAll(PersonManagerImpl.java:36)
            com.ewp.authentication.provider.EWPAuthenticationProvider.testNeo4j(EWPAuthenticationProvider.java:120)
            com.ewp.authentication.provider.EWPAuthenticationProvider.authenticate(EWPAuthenticationProvider.java:70)
            org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:167)
            org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:192)
            org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:93)
            org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217)
            org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
            org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
            org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
            org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:120)
            org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
            org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
            org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
            org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
            org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
            org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
            org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
            org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
            org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:133)
            org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
            org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
            org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
            org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
            org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
            org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
            org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)*

0 个答案:

没有答案