在spring-boot-devtools重启后,Neo4j-OGM在任何查询上触发ClassCastException

时间:2017-06-09 18:22:16

标签: spring-boot neo4j spring-data-neo4j neo4j-ogm

我正在开始一个新项目,并决定使用springboot数据neo4j和OGM尝试neo4j。一切都工作得很好,但在我的开发环境中,spring-boot-devtools并没有多大帮助。

每次我更改java类时,自动重启触发,然后我运行的任何查询抛出ClassCastException,如

java.lang.ClassCastException: br.com.ncisaude.gr.dominio.usuario.Usuario cannot be cast to br.com.ncisaude.gr.dominio.usuario.Usuario
    at com.sun.proxy.$Proxy133.findByEmail(Unknown Source)...

显然这是一个类加载器问题,因为类是一样的。

我相信neo4j OGM或spring-data-neo4j使用序列化进行缓存或类似的东西,这导致了这个异常,但我不确定。

有人知道这方面的工作吗?如果它与缓存相关,有什么方法可以禁用那些缓存?

我不知道是否应该向neo4j ogm或spring-boot-neo4j发送问题,对此有任何见解吗?

我使用螺栓驱动程序2.1.2运行弹簧启动版本1.5.3。我的配置没有什么特别的,它只是neo4j的默认springboot设置。

@Configuration
@EnableSpringConfigured
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ)
@EnableScheduling
@EntityScan("br.com.ncisaude.gr.dominio")
public class SpringConfig {


    @Bean
    @Profile("dev")
    public org.neo4j.ogm.config.Configuration getConfiguration() {
        org.neo4j.ogm.config.Configuration config = new org.neo4j.ogm.config.Configuration();
        AutoIndexConfiguration autoIndexConfiguration = config.autoIndexConfiguration();
        // Modo assert remove e cria todas as constraints
        autoIndexConfiguration.setAutoIndex("assert");
        DriverConfiguration driverConfiguration = config.driverConfiguration();
        driverConfiguration.setURI("bolt://localhost");
        driverConfiguration.setCredentials("neo4j", "******");
        return config;
    }
}

先谢谢

[]中

1 个答案:

答案 0 :(得分:0)

请在此处查看我对此问题的回复:https://github.com/neo4j/neo4j-ogm/issues/374