The problem was that my Bootique app was linked with the LinkRest module, which I don’t use. Removed the dependency and now everything works fine.
> Le 13 juin 2017 à 15:02, Pascal Robert <prob...@druide.com> a écrit : > > This is what I tried. Empty config.yml, keeping everything in the Cayenne > project, including the data-source. If I do that, I get the "No DataSources > are available for Cayenne. Add a DataSource via 'bootique-jdbc' or map it in > Cayenne project. » exception. > >> Le 13 juin 2017 à 13:21, Andrus Adamchik <and...@objectstyle.org> a écrit : >> >> As I mentioned [1], if your least common denominator is Cayenne, then use >> Cayenne for DataSource management, and remove it from Bootique. >> >> Andrus >> >> [1] >> https://lists.apache.org/thread.html/80a226b35e9492c6788b155708f52afb57ddbc90f65e890c41b2f1ad@%3Cuser.cayenne.apache.org%3E >> >>> On Jun 13, 2017, at 7:20 PM, Pascal Robert <prob...@druide.com> wrote: >>> >>> Talked too fast. If I keep the JDBC part in config.yml, it tries to connect >>> to that datasource when the Bootique app launch. >>> >>>> Le 12 juin 2017 à 12:24, Pascal Robert <prob...@druide.com> a écrit : >>>> >>>> Ok, it is working if I remove the Cayenne tree in config.yml, while >>>> keeping the JDBC part, or else I get: >>>> >>>> Caused by: java.lang.IllegalStateException: No DataSources are available >>>> for Cayenne. Add a DataSource via 'bootique-jdbc' or map it in Cayenne >>>> project. >>>> >>>>> Le 12 juin 2017 à 09:32, Nikita Timofeev <ntimof...@objectstyle.com> a >>>>> écrit : >>>>> >>>>> Hi Pascal, >>>>> >>>>> Yes you can setup DataSource via PropertyDataSourceFactory[1] that can >>>>> read all information from runtime properties. >>>>> All you need is to provide those properties via env variables or >>>>> directly in your code like this (this code for the latest 4.0 >>>>> version): >>>>> >>>>> ServerRuntime cayenneRuntime = ServerRuntime.builder() >>>>> .addConfig("cayenne-project.xml") >>>>> .addModule(binder -> { >>>>> ServerModule.contributeProperties(binder) >>>>> .put("cayenne.jdbc.driver", "com.mysql.Driver") >>>>> .put("cayenne.jdbc.url", "jdbc:mysql://127.0.0.1:3306/"); >>>>> }) >>>>> .build(); >>>>> >>>>> [1] >>>>> http://cayenne.apache.org/docs/4.0/api/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.html >>>>> >>>>> On Mon, Jun 12, 2017 at 3:59 PM, Pascal Robert <prob...@druide.com> wrote: >>>>>> >>>>>>> Le 9 juin 2017 à 11:37, Andrus Adamchik <and...@objectstyle.org> a >>>>>>> écrit : >>>>>>> >>>>>>> The easiest thing is to remove the DataNode from CayenneModel >>>>>>> completely, and use Bootique connections locally, in production and in >>>>>>> other environments. >>>>>> >>>>>> And can I set the connection information in another way for non-Bootique >>>>>> apps? >>>>>> >>>>>>> Andrus >>>>>>> >>>>>>>> On Jun 9, 2017, at 6:14 PM, Pascal Robert <prob...@druide.com> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I’m deploying my first Bootique app, which use Cayenne. In my >>>>>>>> config.yml file, I set the datasource like this: >>>>>>>> >>>>>>>> jdbc: >>>>>>>> mysql: >>>>>>>> driverClassName: com.mysql.jdbc.Driver >>>>>>>> url: >>>>>>>> "jdbc:mysql://10.6.xx.xx:3306/filemaker?connectTimeout=0&autoReconnect=true" >>>>>>>> initialSize: 1 >>>>>>>> username: xxxxx >>>>>>>> password: xxxxx >>>>>>>> >>>>>>>> cayenne: >>>>>>>> datasource: mysql >>>>>>>> >>>>>>>> But when I make a request to the app, it tries to connect to the >>>>>>>> server defined in the data model, not from the configuration file. >>>>>>>> >>>>>>>> INFO [2017-06-09 15:08:32,255] bootique-http-36 >>>>>>>> o.a.c.c.XMLDataChannelDescriptorLoader: Loading XML configuration >>>>>>>> resource from >>>>>>>> jar:file:/opt/bin/RevendeursWeb-1.0.jar!/cayenne-filemaker.xml >>>>>>>> INFO [2017-06-09 15:08:32,278] bootique-http-36 >>>>>>>> o.a.c.c.XMLDataChannelDescriptorLoader: Loading XML DataMap resource >>>>>>>> from jar:file:/opt/bin/RevendeursWeb-1.0.jar!/mysql.map.xml >>>>>>>> INFO [2017-06-09 15:08:32,332] bootique-http-36 >>>>>>>> o.a.c.c.XMLDataChannelDescriptorLoader: Loading XML DataMap resource >>>>>>>> from jar:file:/opt/bin/RevendeursWeb-1.0.jar!/revendeurs.map.xml >>>>>>>> INFO [2017-06-09 15:08:32,338] bootique-http-36 >>>>>>>> o.a.c.c.XMLDataChannelDescriptorLoader: Loading XML DataMap resource >>>>>>>> from jar:file:/opt/bin/RevendeursWeb-1.0.jar!/utilisateurs.map.xml >>>>>>>> >>>>>>>> INFO [2017-06-09 15:08:32,366] bootique-http-36 >>>>>>>> o.a.c.d.DriverDataSource: Connecting to >>>>>>>> 'jdbc:mysql://legestionnaire.druide:3306/filemaker' as 'filemaker' >>>>>>>> INFO [2017-06-09 15:08:32,413] bootique-http-36 >>>>>>>> o.a.c.d.DriverDataSource: *** Connecting: FAILURE. >>>>>>>> >>>>>>>> What’s the trick? >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Nikita Timofeev >>>> >>> >> >