cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pascal Robert <prob...@druide.com>
Subject Re: Bootique, Cayenne and production
Date Wed, 14 Jun 2017 15:37:38 GMT

> Le 14 juin 2017 à 11:35, Elena Bondareva <ebondareva@objectstyle.com> a écrit
:
> 
> Hi Pascal,
> 
> Did you rename your project in Cayenne Modeler, so that the name isn't
> 'cayenne-project.xml' yet? If yes, then write the exact name of Cayenne
> project into the module config.
> And keep config,yml empty.
> 
> @Override
>    public void configure(Binder binder) {
>        //provide not default project name to be found by BQ
>        CayenneModule.extend(binder).addProject("cayenne-project1.xml");
>    }


Yeah, I did name the project correctly. See my latest reply, the problem was that I was linking
LinkRest, and this one expects a jdbc configuration.

> 
> 
> Thx,
> Elena Bondareva
> 
> 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 <andrus@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/80a226b35e9492c6788b155708f52a
> fb57ddbc90f65e890c41b2f1ad@%3Cuser.cayenne.apache.org%3E
> 
> On Jun 13, 2017, at 7:20 PM, Pascal Robert <probert@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 <probert@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 <ntimofeev@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 <probert@druide.com> wrote:
> 
> 
> Le 9 juin 2017 à 11:37, Andrus Adamchik <andrus@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 <probert@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


Mime
View raw message