2017-03-01 7 views
0

Wir entwickeln eine Spring-Boot-REST-Anwendung mit Spring Data Neo4J. Kürzlich haben wir zusammen mit ogm 2.1.1 auf Spring Data Neo4j 4.2 aufgerüstet und den integrierten Treiber verwendet.Inkonsistente Ergebnisse in neo4j-ogm - im Zusammenhang mit Session Scope?

In unserer Anwendung stellen wir einige GET-Operationen zur Verfügung, in denen wir einige Objektstrukturen von Knoten erstellen, die von Neo4j geholt werden.

Sobald wir mehrere Anfragen parallel bearbeiten, sehen wir uns mit widersprüchlichen Ergebnissen konfrontiert, d. H. Unsere Objektstrukturen haben bei jeder Anfrage eine andere Größe.

Wir sind nicht wirklich sicher über die Gründe für dieses inkonsistente Verhalten - aber wahrscheinlich hängt es mit der Sitzungsbehandlung in OGM zusammen? Wir wissen, dass Sitzungen nicht threadsicher sind, aber wir wissen nicht, wie wir mit diesem Problem in SD 4.2 umgehen sollen. Vor 4.2 haben wir die sesssion Umfang bis zum Prototyp, wenn die Session-Bean definiert, aber die Konfiguration geändert in SD 4.2

Konfiguration vor 4,2

@Bean 
@Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS) 
public Session getSession() throws Exception { 
    return; 
} 

Wir könnten die Quelle unserer Probleme an den Ort verengen, wo wir sind Belastungselemente aus Neo4j über ein Repository-Klasse:

repository.findOne(id,-1); 

Wenn wir diesen Aufruf in einem synchronisierten Block platzieren, treten keine Inkonsistenzen.

synchronized (this) { 
    repository.findOne(id,-1); 
} 

Wir vermissen wahrscheinlich einigen wichtigen Punkt SD mit 4.2/OGM, konnten aber keine nützlichen Informationen in der Dokumentation und im Web finden. Ist es noch möglich/notwendig den Sesssion Scope in SD 4.2 zu ändern?

Antwort

1

Dies ist ein Fehler in der OGM. Siehe: https://jira.spring.io/browse/DATAGRAPH-951

Wir hoffen, in der nächsten Version (OGM 2.1.2) eine Lösung dafür zu finden.

+0

Danke für die Info –

+1

Fest in '2.1.2-SNAPSHOT'. Wir sollten diese Woche eine neue Version für 2.1.2 veröffentlichen. – digx1

Verwandte Themen