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

Reply via email to