cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Huss <johnth...@gmail.com>
Subject Re: Bootique, Cayenne and production
Date Mon, 12 Jun 2017 14:50:24 GMT
Cayenne is not going to read your System properties directly.  If you set
it in System properties to still have to pass it explicitly to the Cayenne
module like Nikita's code sample does.

On Mon, Jun 12, 2017 at 9:32 AM Pascal Robert <probert@druide.com> wrote:

> Tried that, no luck (at least with the Bootique app):
>
> java
> -Dcayenne.jdbc.url="jdbc:mysql://xx.xx.xx.xx:3306/filemaker?connectTimeout=0&autoReconnect=true"
> -jar RevendeursWeb-1.0.jar --config=config.yml —server
>
> Still connect to the URL defined in the model.
>
> > 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message