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 >>> >> >