scala - Preparing to use neo4j bolt with Play Framework -
i want access neo4j db play framework application in addition mysql db. mysql access working properly. in preparation code accessing neo4j via bolt, have:
added reference driver in project build.sbt:
librarydependencies ++= seq( jdbc, cache, ws, specs2 % test, "org.mindrot" % "jbcrypt" % "0.3m", "mysql" % "mysql-connector-java" % "5.1.38", "org.neo4j" % "neo4j-bolt" % "3.0.1" )
and restarted activator , watched apparently resolve/retrieve dependency can find in ~/.ivy2/...
i have placed reference database in application.conf seen in snippet:
db.default = { driver: com.mysql.jdbc.driver url: "jdbc:mysql://127.0.0.1/borg" username: "borg" password: "xxxxx" } # bolt port # defaults 7687 hope db.neo4j = { driver: org.neo4j.jdbc.driver url: "jdbc:neo4j:bolt://neo.myco.com" username: "neo4j" password: "xx" }
i have not yet written scala code attempt accessing db. adding specification application.conf causes application fail when retrieved site messages seen in following stacktrace. note message "driver not found [org.neo4j.jdbc.driver}]", curiously has right brace in peculiar location. wonder if red herring. insights or experience out there?
creationexception: unable create injector, see following errors: 1) error in custom provider, configuration error: configuration error[cannot connect database [neo4j]] while locating play.api.db.dbapiprovider while locating play.api.db.dbapi field @ play.api.db.nameddatabaseprovider.dbapi(dbmodule.scala:80) while locating play.api.db.nameddatabaseprovider @ com.google.inject.util.providers$guicifiedproviderwithdependencies.initialize(providers.java:149) @ play.api.db.dbmodule$$anonfun$nameddatabasebindings$1.apply(dbmodule.scala:34): binding(interface play.api.db.database qualified qualifierinstance(@play.db.nameddatabase(value=default)) providertarget(play.api.db.nameddatabaseprovider@746bce08)) (via modules: com.google.inject.util.modules$overridemodule -> play.api.inject.guice.guiceablemoduleconversions$$anon$1) caused by: configuration error: configuration error[cannot connect database [neo4j]] @ play.api.configuration$.configerror(configuration.scala:178) @ play.api.configuration.reporterror(configuration.scala:829) @ play.api.db.defaultdbapi$$anonfun$connect$1.apply(defaultdbapi.scala:48) @ play.api.db.defaultdbapi$$anonfun$connect$1.apply(defaultdbapi.scala:42) @ scala.collection.immutable.list.foreach(list.scala:381) @ play.api.db.defaultdbapi.connect(defaultdbapi.scala:42) @ play.api.db.dbapiprovider.get$lzycompute(dbmodule.scala:72) @ play.api.db.dbapiprovider.get(dbmodule.scala:62) @ play.api.db.dbapiprovider.get(dbmodule.scala:58) @ com.google.inject.internal.providerinternalfactory.provision(providerinternalfactory.java:81) @ com.google.inject.internal.boundproviderfactory.provision(boundproviderfactory.java:72) @ com.google.inject.internal.providerinternalfactory.circularget(providerinternalfactory.java:61) @ com.google.inject.internal.boundproviderfactory.get(boundproviderfactory.java:62) @ com.google.inject.internal.singlefieldinjector.inject(singlefieldinjector.java:54) @ com.google.inject.internal.membersinjectorimpl.injectmembers(membersinjectorimpl.java:132) @ com.google.inject.internal.membersinjectorimpl$1.call(membersinjectorimpl.java:93) @ com.google.inject.internal.membersinjectorimpl$1.call(membersinjectorimpl.java:80) @ com.google.inject.internal.injectorimpl.callincontext(injectorimpl.java:1103) @ com.google.inject.internal.membersinjectorimpl.injectandnotify(membersinjectorimpl.java:80) @ com.google.inject.internal.membersinjectorimpl.injectmembers(membersinjectorimpl.java:62) @ com.google.inject.internal.injectorimpl.injectmembers(injectorimpl.java:984) @ com.google.inject.util.providers$guicifiedproviderwithdependencies.initialize(providers.java:149) @ com.google.inject.util.providers$guicifiedproviderwithdependencies$$fastclassbyguice$$2a7177aa.invoke(<generated>) @ com.google.inject.internal.cglib.reflect.$fastmethod.invoke(fastmethod.java:53) @ com.google.inject.internal.singlemethodinjector$1.invoke(singlemethodinjector.java:57) @ com.google.inject.internal.singlemethodinjector.inject(singlemethodinjector.java:91) @ com.google.inject.internal.membersinjectorimpl.injectmembers(membersinjectorimpl.java:132) @ com.google.inject.internal.membersinjectorimpl$1.call(membersinjectorimpl.java:93) @ com.google.inject.internal.membersinjectorimpl$1.call(membersinjectorimpl.java:80) @ com.google.inject.internal.injectorimpl.callincontext(injectorimpl.java:1092) @ com.google.inject.internal.membersinjectorimpl.injectandnotify(membersinjectorimpl.java:80) @ com.google.inject.internal.initializer$injectablereference.get(initializer.java:174) @ com.google.inject.internal.initializer.injectall(initializer.java:108) @ com.google.inject.internal.internalinjectorcreator.injectdynamically(internalinjectorcreator.java:174) @ com.google.inject.internal.internalinjectorcreator.build(internalinjectorcreator.java:110) @ com.google.inject.guice.createinjector(guice.java:96) @ com.google.inject.guice.createinjector(guice.java:73) @ com.google.inject.guice.createinjector(guice.java:62) @ play.api.inject.guice.guicebuilder.injector(guiceinjectorbuilder.scala:126) @ play.api.inject.guice.guiceapplicationbuilder.build(guiceapplicationbuilder.scala:93) @ play.api.inject.guice.guiceapplicationloader.load(guiceapplicationloader.scala:21) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(devserverstart.scala:153) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(devserverstart.scala:150) @ play.utils.threads$.withcontextclassloader(threads.scala:21) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(devserverstart.scala:150) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(devserverstart.scala:121) @ scala.option.map(option.scala:146) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(devserverstart.scala:121) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(devserverstart.scala:119) @ scala.util.success.flatmap(try.scala:231) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1.apply(devserverstart.scala:119) @ play.core.server.devserverstart$$anonfun$maindev$1$$anon$1$$anonfun$get$1.apply(devserverstart.scala:111) @ scala.concurrent.impl.future$promisecompletingrunnable.liftedtree1$1(future.scala:24) @ scala.concurrent.impl.future$promisecompletingrunnable.run(future.scala:24) @ java.util.concurrent.forkjointask$runnableexecuteaction.exec(forkjointask.java:1402) @ java.util.concurrent.forkjointask.doexec(forkjointask.java:289) @ java.util.concurrent.forkjoinpool$workqueue.runtask(forkjoinpool.java:1056) @ java.util.concurrent.forkjoinpool.runworker(forkjoinpool.java:1689) @ java.util.concurrent.forkjoinworkerthread.run(forkjoinworkerthread.java:157) caused by: configuration error: configuration error[driver not found: [org.neo4j.jdbc.driver}]] @ play.api.configuration$.configerror(configuration.scala:178) @ play.api.playconfig.reporterror(configuration.scala:1048) @ play.api.db.defaultdatabase$$anonfun$driver$1.apply(databases.scala:115) @ play.api.db.defaultdatabase$$anonfun$driver$1.apply(databases.scala:109) @ scala.option.map(option.scala:146) @ play.api.db.defaultdatabase.driver$lzycompute(databases.scala:109) @ play.api.db.defaultdatabase.driver(databases.scala:108) @ play.api.db.defaultdatabase.datasource$lzycompute(databases.scala:123) @ play.api.db.defaultdatabase.datasource(databases.scala:122) @ play.api.db.defaultdatabase.getconnection(databases.scala:143) @ play.api.db.defaultdatabase.getconnection(databases.scala:139) @ play.api.db.defaultdbapi$$anonfun$connect$1.apply(defaultdbapi.scala:44) ... 56 more caused by: @70ombh24b: cannot load driver @ play.utils.reflect$.createinstance(reflect.scala:137) @ play.api.db.defaultdatabase$$anonfun$driver$1.apply(databases.scala:111) ... 65 more caused by: java.lang.classnotfoundexception: org.neo4j.jdbc.driver @ java.net.urlclassloader.findclass(urlclassloader.java:381) @ java.lang.classloader.loadclass(classloader.java:424) @ java.lang.classloader.loadclass(classloader.java:357) @ java.lang.class.forname0(native method) @ java.lang.class.forname(class.java:348) @ play.utils.reflect$.getclass(reflect.scala:142) @ play.utils.reflect$.createinstance(reflect.scala:131) ... 66 more
Comments
Post a Comment