cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Huss <johnth...@gmail.com>
Subject Re: Cayenne 4.1M1-snapshot upgrade experience
Date Tue, 12 Sep 2017 20:45:13 GMT
Also, the correct MergerTokenFactory for my DbAdapter is not longer
automatically detected (both for Postgres and MySQL).  I had to add this to
my ServerRuntime module to fix it.

binder.bind(MergerTokenFactory.class).to(PostgresMergerTokenFactory.class);


On Thu, Aug 17, 2017 at 9:21 AM John Huss <johnthuss@gmail.com> wrote:

> I just got done upgrading several projects to use the latest from
> master. I am very excited about the memory usage improvements in this
> version.
>
> I wanted to relay my experience along with some of the problems I had in
> case it would be helpful to others or allow this process to be smoothed
> out.  We were previously on a version of master from about two years back.
> I think most of these issues are fairly recent however.
>
> - Can't build without running the tests (mvn clean install
> -Dmaven.test.skip=true) at least once successfully due to missing maven
> dependency for cayenne.project (which is the second thing built). I don't
> know why this depends on the tests.
>
> - Can't successfully run tests without a newer Java 1.8 SDK. I had a JDK
> 1.8.0 from 2014 (the first release?) that didn't work (mockito errors).
> Upgrading to the newest JDK fixed the problem.
>
> - new ServerRuntime(...) no longer works because my custom DbAdapter
> subclass would not get the new ValueObjectTypeRegistry parameter injected
> automatically. Switching to ServerRuntime.builder() fixed the problem.
>
> - CayenneFilter chooses a different name for the DataDomain when you load
> multiple projects now (is the name the constant "cayenne"?). I use this
> name in a lot of places to set DB connection information so I don't want to
> change it. Unfortunately CayenneFilter does not provide a way to override
> the DataDomain's name, so I had to just stop using CayenneFilter. Using
> runtime.getDataDomain.setName("abc") doesn't work because the DB has
> already been connected to at that point. CayenneFilter should take an
> init-param to set the name instead.
>
> - Cayenne project .xml files need to be upgraded by running the Modeler
> and re-saving them first.
>
> - I had previously set the PK attribute's generation method to Generated
> for me (using Postgres). Since Postgres didn't used to support this with
> Cayenne, this used to fall back to the default behavior
> "Cayenne-generated". Now that this IS supported everything fails since my
> database isn't set up to do this yet. I switched these back to the default
> "Cayenne-generated" method of generating PKs. Not a Cayenne problem, but
> something to be aware of.
>
> - The SQL logger's name has changed from CommonsJdbcEventLogger to just
> JdbcEventLogger, so I had to update places where I was changing the logging
> level (mostly in properties files).
>
> John
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message