私はSDNを初めて使用し、休止状態でクロスストアの永続化を実行しようとしています。ウェブサイトで提供されているチュートリアルには同じ例があります。私はgithubのものもチェックしました。2つの質問があります
ドキュメントまたは例に記載されているように、xml構成を行うことができません。
<neo4j:config/>
をサポートしていませんentityManagerFactory
。私の仮定は、のセッターを持たないデフォルトのNeo4jConfigurationentityManagerFactory
を作成することです。私が見つけた回避策は、CrossStoreNeo4jConfigurationBeanを定義することです。@Bean public CrossStoreNeo4jConfiguration crossStoreNeo4jConfiguration(){ CrossStoreNeo4jConfiguration configuration = new CrossStoreNeo4jConfiguration(); configuration.setEntityManagerFactory(entityManagerFactory); configuration.setGraphDatabaseService(graphDatabaseService); return configuration; }
内部でこれを行う方法
<neo4j:config/>
neo4j-template-ref
を使用してリポジトリを定義するときに、を使用してNeo4jTemplateをリポジトリに参照するとどうなりますneo4j:repositories
か?目的は何ですか?
UDPATE
CrossStoreNeo4jConfiguration
で作成できなかった理由は<neo4j:config/> was
、依存関係spring-data-neo4j-cross-store`がありませんでした。しかし、今はアプリケーションの起動時に例外が発生します。
Caused by: java.lang.IllegalStateException: Singleton 'nodeEntityStateFactory' isn't currently in creation
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.afterSingletonCreation(DefaultSingletonBeanRegistry.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:239)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:292)
at org.springframework.data.neo4j.cross_store.config.CrossStoreNeo4jConfiguration$$EnhancerByCGLIB$$779c5955.nodeEntityStateFactory(<generated>)
at org.springframework.data.neo4j.config.Neo4jConfiguration.mappingContext(Neo4jConfiguration.java:199)
at org.springframework.data.neo4j.cross_store.config.CrossStoreNeo4jConfiguration$$EnhancerByCGLIB$$779c5955.CGLIB$mappingContext$11(<generated>)
at org.springframework.data.neo4j.cross_store.config.CrossStoreNeo4jConfiguration$$EnhancerByCGLIB$$779c5955$$FastClassByCGLIB$$3134c8a8.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:280)
at org.springframework.data.neo4j.cross_store.config.CrossStoreNeo4jConfiguration$$EnhancerByCGLIB$$779c5955.mappingContext(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:149)
前もって感謝します。