私は新しいプロジェクトを開始しており、springbootデータneo4jとOGMでneo4jを試してみることにしました。すべてがうまく動いていますが、私の開発環境では、spring-boot-devtoolsはあまり役に立ちません。クラスがちょうど同じであるためspring-boot-devtoolsの再起動後、Neo4j-OGMがClassCastExceptionをトリガーします。
私はJavaのクラスを変更するたびに、私は実行して自動再起動のトリガ、その後、任意のクエリは、明らかに
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)...
それはクラスローダーの問題であるようにClassCastExceptionがスローされます。
私は、neo4j OGMやspring-data-neo4jがキャッシュなどのシリアライゼーションを使用していると信じていますが、これはこの例外を引き起こしていますが、実際はわかりません。
誰かがこれのためのworkarroundを知っていますか?キャッシュ関連の場合は、キャッシュを無効にする方法はありますか?
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;
}
}
アドバンス
[] S