Closed geld0r closed 7 years ago
Hi, thanks for the report. @mvitz is working on the complete docs, I just very quickly wrote the one you read, so let me see if something is missing.
Can you tell me what is the URI you configured? Thanks in advance!
I have this in my application.properties:
liquigraph.url=localhost
liquigraph.user=neo4j
liquigraph.password=pass
The connection string for the bolt connection to the database I use is:
bolt://neo4j:pass@localhost
The connection is not done via DataSource
though, but via neo4j-ogm's mechanism (org.neo4j.ogm.config.Configuration).
Thanks. In the case of Liquigraph, you still need to pass the connection URL in the JDBC format. Can you try changing the URL to this format and see if it works?
I've not had success with that.
I think this is rather due to having neither of
"org.apache.tomcat.jdbc.pool.DataSource", "com.zaxxer.hikari.HikariDataSource", "org.apache.commons.dbcp.BasicDataSource", "org.apache.commons.dbcp2.BasicDataSource"
on the classpath (see org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder#DATA_SOURCE_TYPE_NAMES
- this is where the exception comes from).
At least when using spring-data-neo4j/neo4j-ogm it should not be required to have any of those on the classpath.
I've also tried setting the corresponding spring.datasource.*
options, but still see the above exception due the the classloading taking place first.
The thing is, I'm sure the URL must be in JDBC format. Can you paste the error message with the fixed URL?
Also, could you please paste your dependency tree here?
Thanks!
Sure. Note that I am not very familiar with neither jdbc nor DataSource, so its likely that I missed something obvious.
This is the application.properties:
liquigraph.url=bolt://neo4j:pass@localhost
liquigraph.user=neo4j
liquigraph.password=pass
spring.datasource.url=bolt://neo4j:pass@localhost
Exception:
`Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.liquigraph.spring.SpringLiquigraph]: Factory method 'liquigraph' threw exception; nested exception is java.lang.IllegalStateException: No supported DataSource type found
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
... 23 common frames omitted
Caused by: java.lang.IllegalStateException: No supported DataSource type found
at org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder.getType(DataSourceBuilder.java:138)
at org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder.build(DataSourceBuilder.java:69)
at org.liquigraph.spring.starter.LiquigraphAutoConfiguration$LiquigraphConfiguration.getDataSource(LiquigraphAutoConfiguration.java:83)
at org.liquigraph.spring.starter.LiquigraphAutoConfiguration$LiquigraphConfiguration.liquigraph(LiquigraphAutoConfiguration.java:69)
at org.liquigraph.spring.starter.LiquigraphAutoConfiguration$LiquigraphConfiguration$$EnhancerBySpringCGLIB$$42e40df9.CGLIB$liquigraph$0(<generated>)
at org.liquigraph.spring.starter.LiquigraphAutoConfiguration$LiquigraphConfiguration$$EnhancerBySpringCGLIB$$42e40df9$$FastClassBySpringCGLIB$$8b50e2c2.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356)
at org.liquigraph.spring.starter.LiquigraphAutoConfiguration$LiquigraphConfiguration$$EnhancerBySpringCGLIB$$42e40df9.liquigraph(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
... 24 common frames omitted`
Dependencies:
gradlew dependencies --configuration compile
:dependencies
------------------------------------------------------------
Root project
------------------------------------------------------------
compile - Dependencies for source set 'main'.
Processing of C:\Users\gelder\.gradle\caches\modules-2\files-2.1\org.crashub\crash.shell\1.3.2\887bc9980d3f6a39f0adc79caf5b655e3761d1a\crash.shell-1.3.2.pom failed:
'dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is /home/tclement/plf-release-tools/tools/jdk1.7.0_67/jre/../lib/tools.jar in org.crashub:crash.shell:1.3.2
+--- org.apache.commons:commons-collections4:4.0
+--- org.apache.commons:commons-lang3:3.4
+--- org.apache.commons:commons-io:1.3.2
+--- org.apache.commons:commons-math3:3.5
+--- commons-configuration:commons-configuration:1.10
| +--- commons-lang:commons-lang:2.6
| \--- commons-logging:commons-logging:1.1.1 -> 1.2
+--- commons-validator:commons-validator:1.4.1
| +--- commons-beanutils:commons-beanutils:1.8.3 -> 1.9.3
| | +--- commons-logging:commons-logging:1.2
| | \--- commons-collections:commons-collections:3.2.2
| +--- commons-digester:commons-digester:1.8.1 -> 2.1
| +--- commons-logging:commons-logging:1.2
| \--- commons-collections:commons-collections:3.2.1 -> 3.2.2
+--- com.google.guava:guava:18.0
+--- com.vaadin:vaadin-push:7.7.0
| \--- com.vaadin.external.atmosphere:atmosphere-runtime:2.2.9.vaadin2
| \--- com.vaadin.external.slf4j:vaadin-slf4j-jdk14:1.6.1
+--- org.vaadin:viritin:1.35
| +--- com.vaadin:vaadin-server:7.4.4 -> 7.7.3
| | +--- com.vaadin:vaadin-sass-compiler:0.9.13
| | | +--- org.w3c.css:sac:1.3
| | | \--- com.vaadin.external.flute:flute:1.3.0.gg2
| | +--- com.vaadin:vaadin-shared:7.7.3
| | \--- org.jsoup:jsoup:1.8.3 -> 1.10.1
| +--- org.vaadin.addon:confirmdialog:2.1.2
| | \--- com.vaadin:vaadin-server:7.3.5 -> 7.7.3 (*)
| +--- org.commonjava.googlecode.markdown4j:markdown4j:2.2-cj-1.0
| +--- commons-io:commons-io:2.4
| +--- commons-beanutils:commons-beanutils:1.9.2 -> 1.9.3 (*)
| +--- org.apache.commons:commons-lang3:3.3.2 -> 3.4
| \--- javax.el:javax.el-api:2.2.4
+--- org.vaadin.highcharts:highcharts:1.3
| \--- com.vaadin:vaadin-server:7.7.1 -> 7.7.3 (*)
+--- org.uncommons.watchmaker:watchmaker-framework:0.7.1
| \--- org.uncommons.maths:uncommons-maths:1.2.1
+--- org.neo4j:neo4j:3.1.0-BETA1
| +--- org.neo4j:neo4j-kernel:3.1.0-BETA1
| | +--- org.neo4j:neo4j-graphdb-api:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-common:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-resource:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-collections:3.1.0-BETA1
| | | | +--- org.neo4j:neo4j-resource:3.1.0-BETA1
| | | | \--- org.neo4j:neo4j-common:3.1.0-BETA1
| | | \--- org.neo4j:neo4j-primitive-collections:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-unsafe:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-common:3.1.0-BETA1
| | | \--- org.neo4j:neo4j-resource:3.1.0-BETA1
| | +--- org.neo4j:neo4j-common:3.1.0-BETA1
| | +--- org.neo4j:neo4j-collections:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-primitive-collections:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-io:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-unsafe:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-primitive-collections:3.1.0-BETA1 (*)
| | | \--- org.apache.commons:commons-lang3:3.3.2 -> 3.4
| | +--- org.neo4j:neo4j-csv:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-primitive-collections:3.1.0-BETA1 (*)
| | | \--- org.neo4j:neo4j-collections:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-logging:3.1.0-BETA1
| | | \--- org.neo4j:neo4j-io:3.1.0-BETA1 (*)
| | \--- org.neo4j:neo4j-lucene-upgrade:3.1.0-BETA1
| | +--- org.apache.lucene:lucene-core:5.5.0
| | \--- org.apache.lucene:lucene-backward-codecs:5.5.0
| | \--- org.apache.lucene:lucene-core:5.5.0
| +--- org.neo4j:neo4j-lucene-index:3.1.0-BETA1
| | +--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| | +--- org.apache.lucene:lucene-analyzers-common:5.5.0
| | | \--- org.apache.lucene:lucene-core:5.5.0
| | +--- org.apache.lucene:lucene-core:5.5.0
| | +--- org.apache.lucene:lucene-queryparser:5.5.0
| | | \--- org.apache.lucene:lucene-core:5.5.0
| | \--- org.apache.lucene:lucene-codecs:5.5.0
| | \--- org.apache.lucene:lucene-core:5.5.0
| +--- org.neo4j:neo4j-graph-algo:3.1.0-BETA1
| | \--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| +--- org.neo4j:neo4j-udc:3.1.0-BETA1
| | \--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| +--- org.neo4j:neo4j-graph-matching:3.1.0-BETA1
| | \--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| +--- org.neo4j:neo4j-cypher:3.1.0-BETA1
| | +--- org.scala-lang:scala-library:2.11.8
| | +--- org.scala-lang:scala-reflect:2.11.8
| | | \--- org.scala-lang:scala-library:2.11.8
| | +--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-lucene-index:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-graph-matching:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-graph-algo:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-codegen:3.1.0-BETA1
| | | +--- org.ow2.asm:asm:5.0.4
| | | \--- org.apache.commons:commons-lang3:3.3.2 -> 3.4
| | +--- org.neo4j:neo4j-cypher-compiler-2.3:2.3.7
| | | +--- org.scala-lang:scala-reflect:2.11.7 -> 2.11.8 (*)
| | | +--- org.neo4j:neo4j-cypher-frontend-2.3:2.3.7
| | | | +--- org.scala-lang:scala-reflect:2.11.7 -> 2.11.8 (*)
| | | | +--- org.parboiled:parboiled-scala_2.11:1.1.7
| | | | | \--- org.parboiled:parboiled-core:1.1.7
| | | | \--- org.apache.commons:commons-lang3:3.3.2 -> 3.4
| | | +--- org.parboiled:parboiled-scala_2.11:1.1.7 (*)
| | | \--- com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2
| | +--- org.neo4j:neo4j-cypher-compiler-3.0:3.0.6
| | | +--- org.neo4j:neo4j-cypher-frontend-3.0:3.0.6
| | | | +--- org.parboiled:parboiled-scala_2.11:1.1.7 (*)
| | | | \--- org.apache.commons:commons-lang3:3.3.2 -> 3.4
| | | \--- org.parboiled:parboiled-scala_2.11:1.1.7 (*)
| | +--- org.neo4j:neo4j-cypher-compiler-3.1:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-cypher-frontend-3.1:3.1.0-BETA1
| | | | +--- org.parboiled:parboiled-scala_2.11:1.1.7 (*)
| | | | \--- org.apache.commons:commons-lang3:3.3.2 -> 3.4
| | | +--- org.parboiled:parboiled-scala_2.11:1.1.7 (*)
| | | \--- com.github.ben-manes.caffeine:caffeine:2.3.3 -> 2.3.4
| | +--- org.parboiled:parboiled-scala_2.11:1.1.7 (*)
| | \--- net.sf.opencsv:opencsv:2.3
| +--- org.neo4j:neo4j-jmx:3.1.0-BETA1
| \--- org.neo4j:neo4j-consistency-check:3.1.0-BETA1
| +--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| +--- org.neo4j:neo4j-lucene-index:3.1.0-BETA1 (*)
| +--- org.neo4j:neo4j-command-line:3.1.0-BETA1
| | +--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| | \--- org.neo4j:neo4j-collections:3.1.0-BETA1 (*)
| +--- org.neo4j:neo4j-dbms:3.1.0-BETA1
| | +--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-graphdb-api:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-command-line:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-collections:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-io:3.1.0-BETA1 (*)
| | +--- org.neo4j:neo4j-import-tool:3.1.0-BETA1
| | | +--- org.neo4j:neo4j-kernel:3.1.0-BETA1 (*)
| | | \--- org.neo4j:neo4j-lucene-index:3.1.0-BETA1 (*)
| | \--- org.apache.commons:commons-compress:1.12
| \--- org.neo4j:neo4j-io:3.1.0-BETA1 (*)
+--- org.neo4j:neo4j-cypher-dsl:2.3.1
+--- org.liquigraph:liquigraph-spring-boot-starter:3.0.2-SNAPSHOT
| +--- org.liquigraph:liquigraph-core:3.0.2-SNAPSHOT
| | +--- com.google.guava:guava:19.0 -> 18.0
| | +--- org.slf4j:slf4j-api:1.7.21
| | \--- org.neo4j:neo4j-jdbc-driver:3.0.1
| \--- org.springframework.boot:spring-boot-autoconfigure:1.4.3.RELEASE -> 1.4.2.RELEASE
| \--- org.springframework.boot:spring-boot:1.4.2.RELEASE
| +--- org.springframework:spring-core:4.3.4.RELEASE
| | \--- commons-logging:commons-logging:1.2
| \--- org.springframework:spring-context:4.3.4.RELEASE
| +--- org.springframework:spring-aop:4.3.4.RELEASE
| | +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE
| | | \--- org.springframework:spring-core:4.3.0.RELEASE -> 4.3.4.RELEASE (*)
| | \--- org.springframework:spring-core:4.3.4.RELEASE (*)
| +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE (*)
| +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| \--- org.springframework:spring-expression:4.3.4.RELEASE
| \--- org.springframework:spring-core:4.3.4.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-web: -> 1.4.2.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.4.2.RELEASE
| | +--- org.springframework.boot:spring-boot:1.4.2.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.4.2.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-starter-logging:1.4.2.RELEASE
| | | +--- ch.qos.logback:logback-classic:1.1.7
| | | | +--- ch.qos.logback:logback-core:1.1.7
| | | | \--- org.slf4j:slf4j-api:1.7.20 -> 1.7.21
| | | +--- org.slf4j:jcl-over-slf4j:1.7.21
| | | | \--- org.slf4j:slf4j-api:1.7.21
| | | +--- org.slf4j:jul-to-slf4j:1.7.21
| | | | \--- org.slf4j:slf4j-api:1.7.21
| | | \--- org.slf4j:log4j-over-slf4j:1.7.21
| | | \--- org.slf4j:slf4j-api:1.7.21
| | +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| | \--- org.yaml:snakeyaml:1.17
| +--- org.springframework.boot:spring-boot-starter-tomcat:1.4.2.RELEASE
| | +--- org.apache.tomcat.embed:tomcat-embed-core:8.5.6
| | +--- org.apache.tomcat.embed:tomcat-embed-el:8.5.6
| | \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.5.6
| | \--- org.apache.tomcat.embed:tomcat-embed-core:8.5.6
| +--- org.hibernate:hibernate-validator:5.2.4.Final
| | +--- javax.validation:validation-api:1.1.0.Final
| | +--- org.jboss.logging:jboss-logging:3.2.1.Final -> 3.3.0.Final
| | \--- com.fasterxml:classmate:1.1.0 -> 1.3.3
| +--- com.fasterxml.jackson.core:jackson-databind:2.8.4
| | +--- com.fasterxml.jackson.core:jackson-annotations:2.8.0 -> 2.8.4
| | \--- com.fasterxml.jackson.core:jackson-core:2.8.4
| +--- org.springframework:spring-web:4.3.4.RELEASE
| | +--- org.springframework:spring-aop:4.3.4.RELEASE (*)
| | +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE (*)
| | +--- org.springframework:spring-context:4.3.4.RELEASE (*)
| | \--- org.springframework:spring-core:4.3.4.RELEASE (*)
| \--- org.springframework:spring-webmvc:4.3.4.RELEASE
| +--- org.springframework:spring-aop:4.3.4.RELEASE (*)
| +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE (*)
| +--- org.springframework:spring-context:4.3.4.RELEASE (*)
| +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| +--- org.springframework:spring-expression:4.3.4.RELEASE (*)
| \--- org.springframework:spring-web:4.3.4.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-jetty: -> 1.4.2.RELEASE
| +--- org.eclipse.jetty:jetty-servlets:9.3.14.v20161028
| | +--- org.eclipse.jetty:jetty-continuation:9.3.14.v20161028
| | +--- org.eclipse.jetty:jetty-http:9.3.14.v20161028
| | | \--- org.eclipse.jetty:jetty-util:9.3.14.v20161028
| | +--- org.eclipse.jetty:jetty-util:9.3.14.v20161028
| | \--- org.eclipse.jetty:jetty-io:9.3.14.v20161028
| | \--- org.eclipse.jetty:jetty-util:9.3.14.v20161028
| +--- org.eclipse.jetty:jetty-webapp:9.3.14.v20161028
| | +--- org.eclipse.jetty:jetty-xml:9.3.14.v20161028
| | | \--- org.eclipse.jetty:jetty-util:9.3.14.v20161028
| | \--- org.eclipse.jetty:jetty-servlet:9.3.14.v20161028
| | \--- org.eclipse.jetty:jetty-security:9.3.14.v20161028
| | \--- org.eclipse.jetty:jetty-server:9.3.14.v20161028
| | +--- javax.servlet:javax.servlet-api:3.1.0
| | +--- org.eclipse.jetty:jetty-http:9.3.14.v20161028 (*)
| | \--- org.eclipse.jetty:jetty-io:9.3.14.v20161028 (*)
| +--- org.eclipse.jetty.websocket:websocket-server:9.3.14.v20161028
| | +--- org.eclipse.jetty.websocket:websocket-common:9.3.14.v20161028
| | | +--- org.eclipse.jetty.websocket:websocket-api:9.3.14.v20161028
| | | +--- org.eclipse.jetty:jetty-util:9.3.14.v20161028
| | | \--- org.eclipse.jetty:jetty-io:9.3.14.v20161028 (*)
| | +--- org.eclipse.jetty.websocket:websocket-client:9.3.14.v20161028
| | | +--- org.eclipse.jetty:jetty-util:9.3.14.v20161028
| | | +--- org.eclipse.jetty:jetty-io:9.3.14.v20161028 (*)
| | | \--- org.eclipse.jetty.websocket:websocket-common:9.3.14.v20161028 (*)
| | +--- org.eclipse.jetty.websocket:websocket-servlet:9.3.14.v20161028
| | | +--- org.eclipse.jetty.websocket:websocket-api:9.3.14.v20161028
| | | \--- javax.servlet:javax.servlet-api:3.1.0
| | +--- org.eclipse.jetty:jetty-servlet:9.3.14.v20161028 (*)
| | \--- org.eclipse.jetty:jetty-http:9.3.14.v20161028 (*)
| +--- org.eclipse.jetty.websocket:javax-websocket-server-impl:9.3.14.v20161028
| | +--- org.eclipse.jetty:jetty-annotations:9.3.14.v20161028
| | | +--- org.eclipse.jetty:jetty-plus:9.3.14.v20161028
| | | | \--- org.eclipse.jetty:jetty-webapp:9.3.14.v20161028 (*)
| | | +--- org.eclipse.jetty:jetty-webapp:9.3.14.v20161028 (*)
| | | +--- javax.annotation:javax.annotation-api:1.2
| | | +--- org.ow2.asm:asm:5.0.1 -> 5.0.4
| | | \--- org.ow2.asm:asm-commons:5.0.1
| | | \--- org.ow2.asm:asm-tree:5.0.1
| | | \--- org.ow2.asm:asm:5.0.1 -> 5.0.4
| | +--- org.eclipse.jetty.websocket:javax-websocket-client-impl:9.3.14.v20161028
| | | +--- org.eclipse.jetty.websocket:websocket-client:9.3.14.v20161028 (*)
| | | \--- javax.websocket:javax.websocket-api:1.0
| | +--- org.eclipse.jetty.websocket:websocket-server:9.3.14.v20161028 (*)
| | \--- javax.websocket:javax.websocket-api:1.0
| \--- org.mortbay.jasper:apache-el:8.0.33
+--- org.springframework:spring-beans:4.3.0.RELEASE (*)
+--- com.vaadin:vaadin-spring-boot-starter:1.1.1
| +--- com.vaadin:vaadin-spring-boot:1.1.1
| | +--- com.vaadin:vaadin-spring:1.1.1
| | | +--- org.springframework:spring-web:4.3.3.RELEASE -> 4.3.4.RELEASE (*)
| | | +--- com.vaadin:vaadin-server:7.7.3 (*)
| | | \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.21
| | +--- org.springframework.boot:spring-boot:1.4.1.RELEASE -> 1.4.2.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.4.1.RELEASE -> 1.4.2.RELEASE (*)
| | \--- org.springframework:spring-webmvc:4.3.3.RELEASE -> 4.3.4.RELEASE (*)
| +--- org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE -> 1.4.2.RELEASE (*)
| +--- com.vaadin:vaadin-themes:7.7.3
| \--- com.vaadin:vaadin-client-compiled:7.7.3
+--- org.springframework.boot:spring-boot-starter-remote-shell: -> 1.4.2.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.4.2.RELEASE (*)
| +--- org.springframework.boot:spring-boot-starter-actuator:1.4.2.RELEASE
| | +--- org.springframework.boot:spring-boot-starter:1.4.2.RELEASE (*)
| | \--- org.springframework.boot:spring-boot-actuator:1.4.2.RELEASE
| | +--- org.springframework.boot:spring-boot:1.4.2.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.4.2.RELEASE (*)
| | +--- com.fasterxml.jackson.core:jackson-databind:2.8.4 (*)
| | +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| | \--- org.springframework:spring-context:4.3.4.RELEASE (*)
| +--- org.crashub:crash.cli:1.3.2
| +--- org.crashub:crash.connectors.ssh:1.3.2
| | +--- org.crashub:crash.shell:1.3.2
| | | \--- org.crashub:crash.cli:1.3.2
| | +--- org.apache.sshd:sshd-core:0.11.0
| | | \--- org.apache.mina:mina-core:2.0.7
| | | \--- org.slf4j:slf4j-api:1.6.6 -> 1.7.21
| | +--- org.apache.sshd:sshd-pam:0.11.0
| | | +--- org.apache.sshd:sshd-core:0.11.0 (*)
| | | \--- net.sf.jpam:jpam:1.1
| | | \--- commons-logging:commons-logging:1.0.4 -> 1.2
| | +--- org.bouncycastle:bcprov-jdk15on:1.51
| | +--- org.bouncycastle:bcpkix-jdk15on:1.51
| | | \--- org.bouncycastle:bcprov-jdk15on:1.51
| | \--- org.apache.mina:mina-core:2.0.7 (*)
| +--- org.crashub:crash.embed.spring:1.3.2
| | +--- org.crashub:crash.shell:1.3.2 (*)
| | +--- org.springframework:spring-core:3.1.1.RELEASE -> 4.3.4.RELEASE (*)
| | +--- org.springframework:spring-context:3.1.1.RELEASE -> 4.3.4.RELEASE (*)
| | \--- org.springframework:spring-beans:3.1.1.RELEASE -> 4.3.0.RELEASE (*)
| +--- org.crashub:crash.plugins.cron:1.3.2
| | +--- org.crashub:crash.shell:1.3.2 (*)
| | \--- it.sauronsoftware.cron4j:cron4j:2.2.5
| +--- org.crashub:crash.plugins.mail:1.3.2
| | \--- org.crashub:crash.shell:1.3.2 (*)
| +--- org.crashub:crash.shell:1.3.2 (*)
| +--- org.codehaus.groovy:groovy:2.4.7
| \--- com.sun.mail:javax.mail:1.5.6
| \--- javax.activation:activation:1.1
+--- org.springframework.data:spring-data-neo4j:4.2.0.BUILD-SNAPSHOT
| +--- org.springframework:spring-tx:4.3.4.RELEASE
| | +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE (*)
| | \--- org.springframework:spring-core:4.3.4.RELEASE (*)
| +--- org.springframework:spring-context:4.3.4.RELEASE (*)
| +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE (*)
| +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| +--- org.springframework.data:spring-data-commons:1.13.0.BUILD-SNAPSHOT
| | +--- org.springframework:spring-core:4.3.4.RELEASE (*)
| | +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE (*)
| | +--- org.slf4j:slf4j-api:1.7.21
| | \--- org.slf4j:jcl-over-slf4j:1.7.21 (*)
| +--- org.neo4j:neo4j-ogm-core:2.1.1 -> 2.1.1-SNAPSHOT
| | +--- org.neo4j:neo4j-ogm-api:2.1.1-SNAPSHOT
| | | +--- com.fasterxml.jackson.core:jackson-databind:2.7.1 -> 2.8.4 (*)
| | | +--- org.slf4j:slf4j-api:1.7.21
| | | \--- commons-codec:commons-codec:1.10
| | +--- org.neo4j:neo4j-ogm-compiler:2.1.1-SNAPSHOT
| | | \--- org.neo4j:neo4j-ogm-api:2.1.1-SNAPSHOT (*)
| | +--- org.apache.commons:commons-lang3:3.4
| | \--- org.apache.commons:commons-collections4:4.1 -> 4.0
| +--- org.neo4j:neo4j-ogm-http-driver:2.1.1 -> 2.1.1-SNAPSHOT
| | +--- org.neo4j:neo4j-ogm-api:2.1.1-SNAPSHOT (*)
| | +--- org.apache.httpcomponents:httpclient:4.5.2
| | | +--- org.apache.httpcomponents:httpcore:4.4.4 -> 4.4.5
| | | +--- commons-logging:commons-logging:1.2
| | | \--- commons-codec:commons-codec:1.9 -> 1.10
| | \--- commons-io:commons-io:2.4
| +--- org.slf4j:slf4j-api:1.7.21
| \--- org.slf4j:jcl-over-slf4j:1.7.21 (*)
+--- org.neo4j:neo4j-ogm-core:2.1.1-SNAPSHOT (*)
+--- org.neo4j:neo4j-ogm-api:2.1.1-SNAPSHOT (*)
+--- org.neo4j:neo4j-ogm-compiler:2.1.1-SNAPSHOT (*)
+--- org.neo4j:neo4j-ogm-embedded-driver:2.1.1-SNAPSHOT
| +--- org.neo4j:neo4j-ogm-api:2.1.1-SNAPSHOT (*)
| \--- commons-io:commons-io:2.4
+--- org.neo4j:neo4j-ogm-bolt-driver:2.1.1-SNAPSHOT
| +--- org.neo4j:neo4j-ogm-api:2.1.1-SNAPSHOT (*)
| +--- org.neo4j.driver:neo4j-java-driver:1.1.0
| \--- commons-io:commons-io:2.4
+--- org.neo4j:neo4j-ogm-http-driver:2.1.1-SNAPSHOT (*)
+--- org.springframework.data:spring-data-commons:1.13.0.BUILD-SNAPSHOT (*)
+--- org.springframework.boot:spring-boot-starter-data-rest: -> 1.4.2.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.4.2.RELEASE (*)
| +--- org.springframework.boot:spring-boot-starter-web:1.4.2.RELEASE (*)
| +--- com.fasterxml.jackson.core:jackson-annotations:2.8.4
| +--- com.fasterxml.jackson.core:jackson-databind:2.8.4 (*)
| \--- org.springframework.data:spring-data-rest-webmvc:2.5.5.RELEASE
| +--- org.springframework.data:spring-data-rest-core:2.5.5.RELEASE
| | +--- org.springframework:spring-tx:4.2.8.RELEASE -> 4.3.4.RELEASE (*)
| | +--- org.springframework.hateoas:spring-hateoas:0.20.0.RELEASE
| | | +--- org.springframework:spring-aop:4.1.7.RELEASE -> 4.3.4.RELEASE (*)
| | | +--- org.springframework:spring-beans:4.1.7.RELEASE -> 4.3.0.RELEASE (*)
| | | +--- org.springframework:spring-context:4.1.7.RELEASE -> 4.3.4.RELEASE (*)
| | | +--- org.springframework:spring-core:4.1.7.RELEASE -> 4.3.4.RELEASE (*)
| | | +--- org.springframework:spring-web:4.1.7.RELEASE -> 4.3.4.RELEASE (*)
| | | +--- org.springframework:spring-webmvc:4.1.7.RELEASE -> 4.3.4.RELEASE (*)
| | | \--- org.slf4j:slf4j-api:1.7.21
| | +--- org.springframework.data:spring-data-commons:1.12.5.RELEASE -> 1.13.0.BUILD-SNAPSHOT (*)
| | +--- org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE
| | | +--- org.springframework:spring-beans:4.0.9.RELEASE -> 4.3.0.RELEASE (*)
| | | +--- org.springframework:spring-context:4.0.9.RELEASE -> 4.3.4.RELEASE (*)
| | | +--- org.springframework:spring-aop:4.0.9.RELEASE -> 4.3.4.RELEASE (*)
| | | \--- org.slf4j:slf4j-api:1.7.10 -> 1.7.21
| | +--- org.atteo:evo-inflector:1.2.1
| | +--- com.fasterxml.jackson.core:jackson-annotations:2.6.7 -> 2.8.4
| | +--- org.slf4j:slf4j-api:1.7.21
| | \--- org.slf4j:jcl-over-slf4j:1.7.21 (*)
| +--- org.springframework:spring-webmvc:4.2.8.RELEASE -> 4.3.4.RELEASE (*)
| +--- com.fasterxml.jackson.core:jackson-databind:2.6.7 -> 2.8.4 (*)
| +--- com.fasterxml.jackson.core:jackson-annotations:2.6.7 -> 2.8.4
| +--- org.slf4j:slf4j-api:1.7.21
| \--- org.slf4j:jcl-over-slf4j:1.7.21 (*)
+--- com.fasterxml.jackson.module:jackson-module-parameter-names: -> 2.8.4
| +--- com.fasterxml.jackson.core:jackson-core:2.8.4
| \--- com.fasterxml.jackson.core:jackson-databind:2.8.4 (*)
+--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8: -> 2.8.4
| +--- com.fasterxml.jackson.core:jackson-core:2.8.4
| \--- com.fasterxml.jackson.core:jackson-databind:2.8.4 (*)
+--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310: -> 2.8.4
| +--- com.fasterxml.jackson.core:jackson-core:2.8.4
| +--- com.fasterxml.jackson.core:jackson-databind:2.8.4 (*)
| \--- com.fasterxml.jackson.core:jackson-annotations:2.8.0 -> 2.8.4
+--- org.springframework.retry:spring-retry:1.1.2.RELEASE
| \--- org.springframework:spring-core:4.0.4.RELEASE -> 4.3.4.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-aop: -> 1.4.2.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.4.2.RELEASE (*)
| +--- org.springframework:spring-aop:4.3.4.RELEASE (*)
| \--- org.aspectj:aspectjweaver:1.8.9
+--- io.dropwizard.metrics:metrics-core:3.1.2
| \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.21
+--- com.ryantenney.metrics:metrics-spring:3.1.2
| +--- io.dropwizard.metrics:metrics-core:3.1.2 (*)
| +--- io.dropwizard.metrics:metrics-healthchecks:3.1.2
| | \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.21
| +--- io.dropwizard.metrics:metrics-annotation:3.1.2
| | \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.21
| +--- org.springframework:spring-core:4.1.6.RELEASE -> 4.3.4.RELEASE (*)
| +--- org.springframework:spring-beans:4.1.6.RELEASE -> 4.3.0.RELEASE (*)
| +--- org.springframework:spring-context-support:4.1.6.RELEASE -> 4.3.4.RELEASE
| | +--- org.springframework:spring-beans:4.3.4.RELEASE -> 4.3.0.RELEASE (*)
| | +--- org.springframework:spring-context:4.3.4.RELEASE (*)
| | \--- org.springframework:spring-core:4.3.4.RELEASE (*)
| +--- org.springframework:spring-aop:4.1.6.RELEASE -> 4.3.4.RELEASE (*)
| \--- org.slf4j:slf4j-api:1.7.12 -> 1.7.21
+--- com.google.jimfs:jimfs:1.0
| \--- com.google.guava:guava:16.0.1 -> 18.0
+--- org.jsoup:jsoup:1.10.1
+--- org.projectlombok:lombok:1.16.8
+--- org.ocpsoft.prettytime:prettytime:4.0.0.Final
+--- net.openhft:chronicle-map:2.4.12
| +--- net.openhft:compiler:2.2.1
| | +--- org.slf4j:slf4j-api:1.7.6 -> 1.7.21
| | \--- org.kohsuke.jetbrains:annotations:9.0
| +--- net.openhft:lang:6.7.7
| | +--- org.ow2.asm:asm:5.0.3 -> 5.0.4
| | +--- org.slf4j:slf4j-api:1.7.12 -> 1.7.21
| | +--- net.openhft:compiler:2.2.1 (*)
| | \--- org.xerial.snappy:snappy-java:1.1.1.6
| +--- org.slf4j:slf4j-api:1.7.12 -> 1.7.21
| +--- com.intellij:annotations:12.0
| +--- com.thoughtworks.xstream:xstream:1.4.7
| | +--- xmlpull:xmlpull:1.1.3.1
| | \--- xpp3:xpp3_min:1.1.4c
| +--- org.codehaus.jettison:jettison:1.3.6
| | \--- stax:stax-api:1.0.1
| \--- org.ops4j.pax.url:pax-url-aether:2.4.0
| \--- org.slf4j:jcl-over-slf4j:1.6.6 -> 1.7.21 (*)
+--- :jskill:1.1-SNAPSHOT
\--- org.optaplanner:optaplanner-core:6.4.0.Final
+--- org.kie:kie-api:6.4.0.Final
| \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.21
+--- org.kie:kie-internal:6.4.0.Final
| +--- org.kie:kie-api:6.4.0.Final (*)
| \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.21
+--- org.drools:drools-core:6.4.0.Final
| +--- org.mvel:mvel2:2.2.8.Final
| +--- org.kie:kie-api:6.4.0.Final (*)
| +--- org.kie:kie-internal:6.4.0.Final (*)
| +--- org.slf4j:slf4j-api:1.7.2 -> 1.7.21
| \--- commons-codec:commons-codec:1.4 -> 1.10
+--- org.drools:drools-compiler:6.4.0.Final
| +--- org.drools:drools-core:6.4.0.Final (*)
| +--- org.kie:kie-api:6.4.0.Final (*)
| +--- org.kie:kie-internal:6.4.0.Final (*)
| +--- org.antlr:antlr-runtime:3.5
| +--- org.eclipse.jdt.core.compiler:ecj:4.4.2
| +--- org.mvel:mvel2:2.2.8.Final
| +--- com.thoughtworks.xstream:xstream:1.4.7 (*)
| +--- com.google.protobuf:protobuf-java:2.6.0
| \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.21
+--- org.apache.commons:commons-lang3:3.1 -> 3.4
+--- org.apache.commons:commons-math3:3.4.1 -> 3.5
+--- commons-io:commons-io:2.1 -> 2.4
+--- com.google.guava:guava:13.0.1 -> 18.0
+--- org.slf4j:slf4j-api:1.7.2 -> 1.7.21
+--- org.reflections:reflections:0.9.10
| +--- com.google.guava:guava:18.0
| +--- org.javassist:javassist:3.18.2-GA -> 3.20.0-GA
| \--- com.google.code.findbugs:annotations:2.0.1
\--- com.thoughtworks.xstream:xstream:1.4.7 (*)
(*) - dependencies omitted (listed previously)`
Hi, can you try with this URL: jdbc:neo4j:bolt://localhost
?
Thanks in advance!
Additionally, if you are only using a single database I highly recommend that you only use spring.datasource.url
as property and drop the liquigraph.*
ones.
Thanks @fbiville @mvitz. I only use a single db so I dropped the liquigraph.*
properties as suggested. Now only this remains:
spring.datasource.url=jdbc:neo4j:bolt://localhost
spring.datasource.username=neo4j
spring.datasource.password=pass
Now I receive: `Caused by: java.lang.RuntimeException:
When adding the liquigraph.*
properties, I am back at the original error.
Since the original error mentioned that a DataSource implementation was missing, I just went ahead and added a dependency to HikariCP to my build. With that I didn't see the error message again. Since the same time the db is under high load. Maybe it is actually running a migration now (the one I configured is large), however I didn't see anything in the logs from liquigraph about starting a migration. Surely this is anounced?
Another thing I noticed:
The docs mention this as changelog location db/migrations/changelog.xml
while the validator expects it here: db/liquigraph/changelog.xml
Edit: In order to reproduce this, remove the dependency
`
<artifactId>HikariCP</artifactId>
<version>2.5.1</version>
<scope>test</scope>
</dependency>`
from the liquigraph-spring-boot-starter pom.xml, delete or comment out ConfigurationByLiquigraphDataSourceTest.java
and ConfigurationBySingleDataSourceTest.java
.
Running ConfigurationByPropertiesTest
then yields the same error I am seeing.
@geld0r to be honest, I wrote a minimum documentation about Spring Boot Starter and this clearly needs improvements (they're on the way). Indeed, the default location for the Spring Boot Starter is db/liquigraph/changelog.xml
, not db/migrations/changelog.xml
.
We clearly needs more logs: I just created https://github.com/fbiville/liquigraph/issues/155 to that end.
Let me investigate why HikariCP
is needed. Afaik, the JDBC driver should be enough.
So, I just looked into neo4j-jdbc
and it does not provide an implementation of DataSource
.
I'll discuss with the Neo4j JDBC to see if they plan to provide a DataSource implementation, which would be quite convenient, because the other JDBC API are already implemented!
Here is the issue.
In the mean time, you need to provide your DataSource impl, so using HikariCP
does the trick.
Please be assured we'll improve the documentation shortly and things will be less confusing. You're one of the early adopters of this new starter module ;-)
Your feedback is super useful to us and will be to other users so thanks a lot!
Because I am currently working on the documentation. I tried it out myself ;-)
Could you please try the following things:
spring-boot-starter-jdbc
as a dependency. This starter is required to use the DataSource
magic from spring-bootspring.datasource.url
, spring.datasource.driver-class-name
, spring.datasource.username
and spring.datasource.password
in your application.properties
or via any other supported spring-boot configuration way.If you dislike depending on the spring-boot-starter-jdbc
you are responsible for providing the DataSource yourself. This can be done with the SimpleDriverDataSource
from spring-jdbc
or using some pool like Hikari.
@mvitz feel free to update the example application by the way :-)
Example application now up-to-date thanks to @mvitz PR: @geld0r feel free to have a look at https://github.com/fbiville/liquigraph-spring-boot-example again!
I've followed @mvitz suggestions (using spring-boot-starter-jdbc) and that seems to work :) I have to say "seems" as my migration is probably still running. As tracked in #155 one currently isn't informed that a migration is going to take place. I can see however that the DB is under heavy load and that the lock-node has been written.
I just re-read the updated description and also checked the demo application. Both cover exactly what has to be done to get it to work! Thanks for looking into this issue. This is now really a super simple way to use migration with spring-data-neo4j/neo4j-ogm and setup is documented nicely!
Thanks a lot! We'll definitely add logging in Liquigraph core so users can follow what's going on.
Hi Florent, you can check my PR related to https://github.com/neo4j-contrib/neo4j-jdbc/issues/90 to see if everithing works
@glaggia-larus let me try to find some time this week (not guaranteed but I'll try)
Hi,
I've tried to use the new (and very convenient!) Liquigraph Spring Boot starter to perform migration when the application starts. I've followed the instructions in the 5-minute starter guide and only configured the following entries in my
application.properties
:liquigraph.url
liquigraph.user
liquigraph.password
I am not using any other DataSource. According to the documentation this should be optional.
However on startup I get:
Is any additional configuration required for that I may be missing?