Hi,

Thanks, but I think I'll wait till a proper profile for neo4j appears
in the FIT for the docker mode.
Actually it's too confusing for me between all the core-xxx.properties
that mix information of persistence and configuration independent of
the datasource.
Of course I can understand  that an Object Oriented DataBase isn't the
priority for now.
Best regards,

Stéphane POPOFF

Le ven. 24 avr. 2026 à 12:24, Francesco Chicchiriccò
<[email protected]> a écrit :
>
> FYI https://nightlies.apache.org/syncope/4_1_X/reference-guide.html#neo4j
>
> (recently added to the doc but working with any 4.0.x and 4.1.x release)
>
> On 24/04/26 12:22, Andrea Patricelli wrote:
>
> Hi Stéphane,
>
> no, that dependency it is not enough, if you look at the pom.xml these are 
> the needed dependencies
>
> <dependencies>
>         <dependency>
>           <groupId>org.apache.syncope.core</groupId>
>           <artifactId>syncope-core-self-keymaster-starter</artifactId>
>           <version>${project.version}</version>
>           <exclusions>
>             <exclusion>
>               <groupId>org.apache.syncope.core</groupId>
>               <artifactId>syncope-core-persistence-jpa</artifactId>
>             </exclusion>
>           </exclusions>
>         </dependency>
>
>         <dependency>
>           <groupId>org.apache.syncope.core</groupId>
>           <artifactId>syncope-core-persistence-neo4j</artifactId>
>           <version>${project.version}</version>
>         </dependency>
>       </dependencies>
>
> Best regards,
> Andrea
>
> Il 20/04/26 20:07, Stéphane Popoff ha scritto:
>
> Hi Andrea,
>
> Thanks for the help, but I still have errors when starting the
> KeyMaster as a Neo4j (see logs [2]).
> I understand that this declaration [1] is the key to change jpa to
> neo4j but is it suffisant ?
>
> Best regards,
>
> Stéphane POPOFF
> [1]
>         <dependency>
>           <groupId>org.apache.syncope.core</groupId>
>           <artifactId>syncope-core-self-keymaster-starter</artifactId>
>           <version>${project.version}</version>
>           <exclusions>
>             <exclusion>
>               <groupId>org.apache.syncope.core</groupId>
>               <artifactId>syncope-core-persistence-jpa</artifactId>
>             </exclusion>
>           </exclusions>
>         </dependency>
>
> [2]
> 2026-04-20 17:57:21.477  INFO [       main]
> org.apache.syncope.core.starter.SyncopeCoreApplication       :
> Starting SyncopeCoreApplication v4.1.0 using Java 25.0.2 with PID 7
> (/opt/syncope/lib/syncope.jar started by syncope in /)
> 2026-04-20 17:57:21.492  INFO [       main]
> org.apache.syncope.core.starter.SyncopeCoreApplication       : The
> following 2 profiles are active: "embedded", "all"
> 2026-04-20 17:57:28.884  INFO [       main]
> org.springframework.boot.web.embedded.tomcat.TomcatWebServer : Tomcat
> initialized with port 8080 (http)
> 2026-04-20 17:57:28.918  INFO [       main]
> org.apache.coyote.http11.Http11NioProtocol                   :
> Initializing ProtocolHandler ["http-nio-8080"]
> 2026-04-20 17:57:28.926  INFO [       main]
> org.apache.catalina.core.StandardService                     :
> Starting service [Tomcat]
> 2026-04-20 17:57:28.927  INFO [       main]
> org.apache.catalina.core.StandardEngine                      :
> Starting Servlet engine: [Apache Tomcat/10.1.53]
> 2026-04-20 17:57:29.023  INFO [       main]
> .catalina.core.ContainerBase.[Tomcat].[localhost].[/syncope] :
> Initializing Spring embedded WebApplicationContext
> 2026-04-20 17:57:29.025  INFO [       main]
> .boot.web.servlet.context.ServletWebServerApplicationContext : Root
> WebApplicationContext: initialization completed in 5906 ms
> 2026-04-20 17:57:36.299  WARN [       main]
> t.context.AnnotationConfigServletWebServerApplicationContext :
> Exception encountered during context initialization - cancelling
> refresh attempt:
> org.springframework.beans.factory.UnsatisfiedDependencyException:
> Error creating bean with name 'keymasterStart' defined in
> org.apache.syncope.core.starter.SyncopeCoreApplication: Unsatisfied
> dependency expressed through method 'keymasterStart' parameter 0:
> Error creating bean with name 'commonEMFConf' defined in class path
> resource [org/apache/syncope/core/persistence/jpa/PersistenceContext.class]:
> Unsatisfied dependency expressed through method 'commonEMFConf'
> parameter 1: Error creating bean with name 'MasterDataSource' defined
> in class path resource [org/apache/syncope/core/persistence/jpa/Maste
>
> Le lun. 20 avr. 2026 à 12:34, Andrea Patricelli
> <[email protected]> a écrit :
>
> Hi Stéphane,
>
> in order to enable neo4j I'd suggest to start as simple and clean
> (archetype I mean) as possible, without manually changing spring
> autoconfiguration imports or adding neo4j maven dependencies.
>
> To have an idea on how correctly configure Syncope please refer to the
> neo4j-it profile [1] in source code and to sample core configurations
> here [2].
>
> Please also bear in mind that you have also to load the correct
> configurations for persistence startup, available here [3].
>
> HTH,
> Andrea
>
> [1]
> https://github.com/apache/syncope/blob/syncope-4.1.0/fit/core-reference/pom.xml#L1089-L1217
>
> [2]
> https://github.com/apache/syncope/blob/syncope-4.1.0/fit/core-reference/src/main/resources/core-neo4j.properties
>
> [3]
> https://github.com/apache/syncope/tree/syncope-4.1.0/core/persistence-neo4j/src/test/resources/domains
>
> Il 16/04/26 14:56, Stéphane Popoff ha scritto:
>
> Hi,
>
> I'm trying to activate the persistence system neo4j in place of any SQL 
> server.
> To do that I change the content of the file
> resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
> and put :
> - org.apache.syncope.core.persistence.neo4j.PersistenceContext
> - org.apache.syncope.core.persistence.neo4j.MasterDomain
> - org.neo4j.driver.Driver
> I also change the core.properties to define the source and secret for
> the Aura NEO4J database.
> Of course I add the dependencies needed for neo4j in the CORE pom.xml [1]
>
> What is strange, is that spring tries to find meta-data information
> directly in class files that should be generated in a classes
> directory and fails.
> The same is not required when using a jpa persistence, spring analyzes
> meta-data through the jar via the classpath.
> Of course I can add the java source file (PersistenceContext,
> MasterDomain) in the CORE to generate class files, but other problems
> appear.
>
> Do you have an idea(s) why spring changes the way to look for
> meta-data in that case ?
>
> Best regards,
>
> Stéphane POPOFF
>
> [1]
> <dependency>
>    <groupId>org.apache.syncope.core</groupId>
>    <artifactId>syncope-core-persistence-neo4j</artifactId>
>    <version>4.1.0</version>
> </dependency>
> <dependency>
> <groupId>org.neo4j.driver</groupId>
> <artifactId>neo4j-java-driver</artifactId>
> <version>5.28.10</version>
> </dependency>
> <dependency>
>    <groupId>org.springframework.data</groupId>
>    <artifactId>spring-data-neo4j</artifactId>
>    <version>7.5.1</version>
> </dependency>
>      <dependency>
>          <groupId>org.neo4j</groupId>
>          <artifactId>neo4j-cypher-dsl</artifactId>
>          <version>2025.2.6</version>
>      </dependency>
>
> --
> Francesco Chicchiriccò
>
> Tirasa - Open Source Excellence
> http://www.tirasa.net/
>
> Member at The Apache Software Foundation
> Syncope, Cocoon, Olingo, CXF, OpenJPA
> https://about.me/ilgrosso

Reply via email to