Yes, thanks, Andi. It seems then that this isn't specific to 2.0.0 codebase, perhaps there's some fragility in the way that order in which JAR files are loaded, which means that these files are not visible to DN somehow when it does it's classloading thing. Maybe this issue has always been there?
Andi, I know you did some stuff on classloading, but if I recall that was limited to the 2.0.0-M1 branch, not 1.16.x, is that right? Dan On Wed, 14 Mar 2018 at 09:57 Erik de Hair <[email protected]> wrote: > Hi Andi, > > Thank you very much! This helped. Everything's working fine now. > > Erik > > On 03/14/2018 10:31 AM, Andi Huber wrote: > > Hi Erik, > > > > strangely we had the same symptoms when working on the coming 2.0.0-M1 > > release. We tracked it down to the fact, that Isis' datanucleus > > extensions don't get installed during bootstrapping. > > > > Would be interesting to see, whether our current workaround [1] (to copy > > over 2 files into your domain code) solves the issue. (Please let us > know!) > > > > * /plugin.xml > > * /META-INF/MAINFEST.MF > > > > As of version 1.16.x these files are in the isis-core-runtime jar file > > of the release. > > > > Cheers Andi > > > > [1] https://issues.apache.org/jira/browse/ISIS-1902 > > > > On 2018/03/14 08:35:14, Erik de Hair <[email protected]> wrote: > >> Hi, > >> > >> I'm having troubles with Blob fields after upgrading to Apache Isis > >> 1.16.2 (not sure if this was also the case for 1.16.[0-1]). The feature > >> is using existing data we had no problems with before upgrading. > >> > >> My field definition: > >> > >> @javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = { > >> @javax.jdo.annotations.Column(name = "file_name", > >> allowsNull = "false"), > >> @javax.jdo.annotations.Column(name = "file_mimetype", > >> allowsNull = "false"), > >> @javax.jdo.annotations.Column(name = "file_bytes", > >> jdbcType="BLOB", sqlType = "BLOB", allowsNull = "false") > >> }) > >> @Property(editing=Editing.DISABLED, > optionality=Optionality.MANDATORY) > >> @Getter @Setter > >> private Blob file; > >> > >> Caused by: javax.jdo.JDOFatalUserException: StreamCorruptedException: > >> object is corrupted > >> NestedThrowables: > >> java.io.StreamCorruptedException: invalid stream header: 47657370 > >> at > >> > > > org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:606) > >> at > >> > > > org.datanucleus.api.jdo.JDOAdapter.getApiExceptionForNucleusException(JDOAdapter.java:677) > >> at > >> > > > org.datanucleus.state.StateManagerImpl.isLoaded(StateManagerImpl.java:2929) > >> at nl.pocos.dom.doclib.Document.dnGetfile(Document.java) > >> at nl.pocos.dom.doclib.Document.getFile(Document.java:86) > >> > >> I've changed the sqlType to "LONGVARBINARY" but this didn't help. I > >> can't reproduce this issue in the quickstart app. Was there any change > >> in Datanucleus version? Will have another look at the change logs. > >> > >> Anyone having an idea? > >> > >> Thanks, > >> Erik > >> > >
