brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Harris <martin.har...@cloudsoftcorp.com>
Subject Renaming persisted classes
Date Thu, 19 May 2016 10:32:08 GMT
Hi Folks,

Just a quick heads-up about a PR I raised yesterday
<https://github.com/apache/brooklyn-server/pull/144>

When Brooklyn is rebinding from persisted state, it instantiates classes
(such as entities) based on the persisted fully-qualified classname. This
causes a problem if the name of the class, or its package changes,
resulting in a ClassNotFoundException

To resolve this issue, Brooklyn maintains a list of classes that have been
renamed
<https://github.com/apache/brooklyn-server/blob/6efc98a6ac79ef009468f231c8a93814ff63c5d2/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties>.
The problem is that there is no way for downstream projects to extend this
list without simply copying the list and ensuring the copy is closer to the
head of the classpath - which risks divergence of the files

PR 144 <https://github.com/apache/brooklyn-server/pull/144> resolves this
issue by moving the file into a specific package, then during
deserialisation it checks for any files in that package that end with
.properties. It’s assumed that downstream projects will use a
project-specific filename to prevent collisions

Cheers
​
-- 
Martin Harris
Lead Software Engineer
Cloudsoft Corporation Ltd
www.cloudsoftcorp.com
Mobile: +44 (0)7989 047-855

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