cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Elena Bondareva <ebondar...@objectstyle.com>
Subject Fwd: Bootique, Cayenne and production
Date Wed, 14 Jun 2017 15:35:52 GMT
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");
    }


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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message