cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Huss <johnth...@gmail.com>
Subject Cayenne 4.1M1-snapshot upgrade experience
Date Thu, 17 Aug 2017 14:21:24 GMT
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