Hi Oscar, >From a very quick look, I think that using @Property(notPersisted=true) probably is the right thing to do.
It's used by: - ChangedObjectServiceInternal to determine if a property has changed; marking it as notPersisted means this functionality is skipped. - Memento (which you almost certainly don't use, I think is only used in anger by the Wicket viewer). It used to be used by the object persistor for persistence-by-reachability (if notPersisted then don't follow the graph), but I *think* that responsibility is now entirely that of JDO/DN. So, I'll look at this some more next week, but right now I think there's an argument to probably rename the atttribute to something that better describes what it does. With respect to the defaultFetchGroup stuff, the stack trace in your other email suggested that DN wasn't honouring it. But, I suspect that if I look at it more closely, we'll probably see that DN doesn't load it by default, but (if notPersisted=false) then Isis causes DN to resolve the property when ChangedObjctsServiceInternal does it thing. Will get back to you with a fuller answer at a later date Thx Dan On 23 August 2016 at 22:20, Óscar Bou - GOVERTIS <[email protected]> wrote: > > Hi all. > > I’m having problems using Clob fields which can contain relatively big > content (256 Kb - 1024), on an Entity that can potentially have many > instances. > Seems they’re re-loaded when setting another property of that object, > despite being with annotated with “defaultFetchGroup=false”. > > Note in the following stacktrace that the OutOfMemoryError occurs when > Isis is trying to reload from db: > > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotific > ation.getXmlContent() > > > Despite what has changed is another property: > > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotification. > setDeletedFromRemoteQueue(java.lang.Boolean) > > > When this happened, class definition was the following: > > @javax.jdo.annotations.PersistenceCapable(identityType = > IdentityType.DATASTORE, schema = *"mydom_backend"*) > @DomainObject > > @DomainObjectLayout(bookmarking = BookmarkPolicy.AS_ROOT, cssClassFa = > "fa-flag") > > public class SupplierAnyOfferChangedNotification { > > … > > // {{ DeletedFromRemoteQueue (property) > private Boolean deletedFromRemoteQueue; > > @MemberOrder(sequence = "1") > @Column(allowsNull = "false") > public Boolean getDeletedFromRemoteQueue() { > return this.deletedFromRemoteQueue; > } > > public void setDeletedFromRemoteQueue(final Boolean > deletedFromRemoteQueue) { > this.deletedFromRemoteQueue = deletedFromRemoteQueue; > } > > public Boolean defaultDeletedFromRemoteQueue() { > return false; > } > > // }} > > … > > @MemberOrder(sequence = "1") > @Column(allowsNull = "false") > @javax.jdo.annotations.Persistent(defaultFetchGroup = "false", columns = { > @javax.jdo.annotations.Column(name = "xmlContent_name"), > @javax.jdo.annotations.Column(name = "xmlContent_mimetype"), > @javax.jdo.annotations.Column(name = "xmlContent_chars", jdbcType = > "CLOB", sqlType = "LONGVARCHAR") }) > public Clob getXmlContent() { > return this.xmlContent; > } > > public void setXmlContent(final Clob xmlContent) { > this.xmlContent = xmlContent; > } > > > } > > > > > > - java.lang.OutOfMemoryError.() (line: 48) > - java.util.Arrays.copyOf(char[ ], int) (line: 3332) > - java.lang.String.(char[ ]) (line: 166) > - org.apache.isis.applib.value.Clob.(java.lang.String, > java.lang.String, char[ ]) (line: 42) > - org.apache.isis.objectstore.jdo.datanucleus.valuetypes. > IsisClobMapping.getObject(org.datanucleus.ExecutionContext, > java.sql.ResultSet, int[ ]) (line: 110) > - > org.datanucleus.store.rdbms.fieldmanager.ResultSetGetter.fetchObjectField(int) > (line: 176) > - > org.datanucleus.state.AbstractStateManager.replacingObjectField(java.lang.Object, > int) (line: 1590) > - org.datanucleus.state.StateManagerImpl.replacingObjectField(org. > datanucleus.enhancement.Persistable, int) (line: 120) > - > mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotification.dnReplaceField(int) > > - > mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotification.dnReplaceFields(int[ > ]) > - org.datanucleus.state.StateManagerImpl.replaceFields(int[ ], > org.datanucleus.store.fieldmanager.FieldManager, boolean) (line: 3109) > - > org.apache.isis.objectstore.jdo.datanucleus.JDOStateManagerForIsis.replaceFields(int[ > ], org.datanucleus.store.fieldmanager.FieldManager, boolean) (line: > 187) > - org.datanucleus.state.StateManagerImpl.replaceFields(int[ ], > org.datanucleus.store.fieldmanager.FieldManager) (line: 3136) > - > org.apache.isis.objectstore.jdo.datanucleus.JDOStateManagerForIsis.replaceFields(int[ > ], org.datanucleus.store.fieldmanager.FieldManager) (line: 176) > - org.datanucleus.store.rdbms.request.FetchRequest.execute( > org.datanucleus.state.ObjectProvider) (line: 351) > - org.datanucleus.store.rdbms.RDBMSPersistenceHandler. > fetchObject(org.datanucleus.state.ObjectProvider, int[ ]) (line: 319) > - org.datanucleus.state.AbstractStateManager.loadFieldsFromDatastore(int[ > ]) (line: 1147) > - org.datanucleus.state.StateManagerImpl.loadSpecifiedFields(int[ ]) > (line: 2564) > - org.datanucleus.state.StateManagerImpl.isLoaded(org. > datanucleus.enhancement.Persistable, int) (line: 2918) > - > mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotification.getXmlContent() > > - sun.reflect.GeneratedMethodAccessor149.invoke(java.lang.Object, > java.lang.Object[ ]) > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, > java.lang.Object[ ]) (line: 43) > - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ > ]) (line: 483) > - > org.apache.isis.core.commons.lang.MethodExtensions.invoke(java.lang.reflect.Method, > java.lang.Object, java.lang.Object[ ]) (line: 53) > - > org.apache.isis.core.commons.lang.MethodExtensions.invoke(java.lang.reflect.Method, > java.lang.Object) (line: 47) > - org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils. > invoke(java.lang.reflect.Method, org.apache.isis.core. > metamodel.adapter.ObjectAdapter) (line: 373) > - org.apache.isis.core.metamodel.facets.properties.accessor. > PropertyAccessorFacetViaAccessor.getProperty(org.apache. > isis.core.metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.consent.InteractionInitiatedBy) (line: 75) > - org.apache.isis.core.metamodel.specloader.specimpl. > > OneToOneAssociationDefault.get(org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 146) > - > org.apache.isis.core.runtime.services.changes.AdapterAndProperty.getPropertyValue() > (line: 107) > - org.apache.isis.core.runtime.services.changes. > ChangedObjectsServiceInternal.enlistUpdating(org.apache. > isis.core.metamodel.adapter.ObjectAdapter) (line: 137) > - sun.reflect.GeneratedMethodAccessor125.invoke(java.lang.Object, > java.lang.Object[ ]) > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, > java.lang.Object[ ]) (line: 43) > - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ > ]) (line: 483) > - > org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(java.lang.Object, > java.lang.reflect.Method, java.lang.reflect.Method, java.lang.Object[ ]) > (line: 219) > - org.apache.isis.core.runtime.services.changes. > ChangedObjectsServiceInternal_$$_jvst47b_6.enlistUpdating( > org.apache.isis.core.metamodel.adapter.ObjectAdapter) > - org.apache.isis.core.runtime.system.persistence.PersistenceSession. > > enlistUpdatingAndInvokeIsisUpdatingCallback(org.datanucleus.enhancement.Persistable) > (line: 2285) > - org.apache.isis.core.runtime.system.persistence. > IsisLifecycleListener2.preDirty(javax.jdo.listener.InstanceLifecycleEvent) > (line: 108) > - org.datanucleus.api.jdo.JDOCallbackHandler.preDirty(java.lang.Object) > (line: 258) > - org.datanucleus.state.StateManagerImpl.updateField( > org.datanucleus.enhancement.Persistable, int, java.lang.Object) (line: > 1854) > - org.datanucleus.state.StateManagerImpl.setObjectField(org. > datanucleus.enhancement.Persistable, int, java.lang.Object, > java.lang.Object) (line: 1766) > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotification. > setDeletedFromRemoteQueue(java.lang.Boolean) > - sun.reflect.GeneratedMethodAccessor273.invoke(java.lang.Object, > java.lang.Object[ ]) > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, > java.lang.Object[ ]) (line: 43) > - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ > ]) (line: 483) > - > org.apache.isis.core.commons.lang.MethodExtensions.invoke(java.lang.reflect.Method, > java.lang.Object, java.lang.Object[ ]) (line: 53) > - org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils. > invoke(java.lang.reflect.Method, org.apache.isis.core. > metamodel.adapter.ObjectAdapter, java.lang.Object) (line: 377) > - org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils. > invoke(java.lang.reflect.Method, org.apache.isis.core. > metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.adapter.ObjectAdapter) (line: 381) > - org.apache.isis.core.metamodel.facets.properties.update.modify. > PropertySetterFacetViaSetterMethod.setProperty(org.apache. > isis.core.metamodel.spec.feature.OneToOneAssociation, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 61) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract$Style$1. > invoke(org.apache.isis.core.metamodel.facets.properties. > property.modify.PropertySetterOrClearFacetForDomainEventAbstract, > org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 100) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract$2.execute( > org.apache.isis.applib.services.iactn.Interaction$PropertyEdit) (line: > 259) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract$2.execute( > org.apache.isis.applib.services.iactn.Interaction$Execution) (line: 1) > - org.apache.isis.applib.services.iactn.Interaction. > > executeInternal(org.apache.isis.applib.services.iactn.Interaction$MemberExecutor, > org.apache.isis.applib.services.iactn.Interaction$Execution) (line: > 173) > - org.apache.isis.applib.services.iactn.Interaction. > execute(org.apache.isis.applib.services.iactn.Interaction$MemberExecutor, > org.apache.isis.applib.services.iactn.Interaction$PropertyEdit) (line: > 161) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract. > doSetOrClearProperty(org.apache.isis.core.metamodel. > > facets.properties.property.modify.PropertySetterOrClearFacetForDomainEventAbstract$Style, > org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 290) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract.access$2( > org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract, org.apache.isis.core. > metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract$Style, > org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 176) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract$1.execute() (line: > 167) > - org.apache.isis.core.runtime.system.transaction. > IsisTransactionManager.executeWithinTransaction(org. > apache.isis.applib.services.command.Command, > org.apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 143) > - org.apache.isis.core.runtime.system.transaction. > IsisTransactionManager.executeWithinTransaction(org. > apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 133) > - org.apache.isis.core.runtime.services.persistsession. > PersistenceSessionServiceInternalDefault.executeWithinTransaction(org. > apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 179) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract. > setOrClearProperty(org.apache.isis.core.metamodel.facets. > > properties.property.modify.PropertySetterOrClearFacetForDomainEventAbstract$Style, > org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 163) > - org.apache.isis.core.metamodel.facets.properties.property.modify. > PropertySetterOrClearFacetForDomainEventAbstract. > > setProperty(org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 151) > - org.apache.isis.core.metamodel.specloader.specimpl. > OneToOneAssociationDefault.setValue(org.apache.isis.core. > metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.consent.InteractionInitiatedBy) (line: 225) > - org.apache.isis.core.metamodel.specloader.specimpl. > OneToOneAssociationDefault.setInternal(org.apache.isis. > core.metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.consent.InteractionInitiatedBy) (line: 200) > - org.apache.isis.core.metamodel.specloader.specimpl. > > OneToOneAssociationDefault.set(org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 192) > - org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler. > > handleSetterMethodOnProperty(org.apache.isis.core.metamodel.adapter.ObjectAdapter, > java.lang.Object[ ], > org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation) > (line: 469) > - > org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(java.lang.Object, > java.lang.reflect.Method, java.lang.Object[ ]) (line: 234) > - > org.apache.isis.core.wrapper.proxy.ProxyCreator$1.invoke(java.lang.Object, > java.lang.reflect.Method, java.lang.reflect.Method, java.lang.Object[ ]) > (line: 90) > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotific > ation_$$_jvst47b_19.setDeletedFromRemoteQueue(java.lang.Boolean) > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotific > ationRepository.lambda$1(mydom.dom.backend.SupplierMarketplace, > mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotification) > (line: 217) > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotific > ationRepository$$Lambda$103.accept(java.lang.Object) > - java.util.ArrayList.forEach(java.util.function.Consumer) (line: > 1249) > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotific > > ationRepository.deleteNotificationMessages(mydom.dom.backend.SupplierMarketplace, > java.util.Collection) (line: 208) > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotific > > ationRepository.downloadToDatabaseAndDeleteFromQueue(mydom.dom.backend.SupplierMarketplace) > (line: 192) > - sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, > java.lang.Object, java.lang.Object[ ]) > - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, > java.lang.Object[ ]) (line: 62) > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, > java.lang.Object[ ]) (line: 43) > - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ > ]) (line: 483) > - org.apache.isis.core.metamodel.facets.actions.action.invocation. > ActionInvocationFacetForDomainEventAbstract. > > invokeMethodElseFromCache(org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter[ ]) (line: 408) > - org.apache.isis.core.metamodel.facets.actions.action.invocation. > ActionInvocationFacetForDomainEventAbstract$2.execute(org. > apache.isis.applib.services.iactn.Interaction$ActionInvocation) (line: > 262) > - org.apache.isis.core.metamodel.facets.actions.action.invocation. > ActionInvocationFacetForDomainEventAbstract$2.execute(org. > apache.isis.applib.services.iactn.Interaction$Execution) (line: 1) > - org.apache.isis.applib.services.iactn.Interaction. > > executeInternal(org.apache.isis.applib.services.iactn.Interaction$MemberExecutor, > org.apache.isis.applib.services.iactn.Interaction$Execution) (line: > 173) > - org.apache.isis.applib.services.iactn.Interaction. > execute(org.apache.isis.applib.services.iactn.Interaction$MemberExecutor, > org.apache.isis.applib.services.iactn.Interaction$ActionInvocation) > (line: 143) > - org.apache.isis.core.metamodel.facets.actions.action.invocation. > ActionInvocationFacetForDomainEventAbstract.doInvoke(org. > apache.isis.core.metamodel.spec.feature.ObjectAction, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter[ ], > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 311) > - org.apache.isis.core.metamodel.facets.actions.action.invocation. > ActionInvocationFacetForDomainEventAbstract$1.execute() (line: 165) > - org.apache.isis.core.runtime.system.transaction. > IsisTransactionManager.executeWithinTransaction(org. > apache.isis.applib.services.command.Command, > org.apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 143) > - org.apache.isis.core.runtime.system.transaction. > IsisTransactionManager.executeWithinTransaction(org. > apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 133) > - org.apache.isis.core.runtime.services.persistsession. > PersistenceSessionServiceInternalDefault.executeWithinTransaction(org. > apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 179) > - org.apache.isis.core.metamodel.facets.actions.action.invocation. > ActionInvocationFacetForDomainEventAbstract.invoke(org. > apache.isis.core.metamodel.spec.feature.ObjectAction, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter[ ], > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 161) > - org.apache.isis.core.metamodel.specloader.specimpl. > ObjectActionDefault.executeInternal(org.apache. > isis.core.metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.adapter.ObjectAdapter, org.apache.isis.core. > metamodel.adapter.ObjectAdapter[ ], org.apache.isis.core. > metamodel.consent.InteractionInitiatedBy) (line: 398) > - org.apache.isis.core.metamodel.specloader.specimpl. > > ObjectActionDefault.execute(org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter, > org.apache.isis.core.metamodel.adapter.ObjectAdapter[ ], > org.apache.isis.core.metamodel.consent.InteractionInitiatedBy) (line: > 387) > - org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler. > handleActionMethod(org.apache.isis.core.metamodel.adapter.ObjectAdapter, > java.lang.Object[ ], > org.apache.isis.core.metamodel.spec.feature.ObjectAction, > org.apache.isis.core.metamodel.specloader.specimpl.ContributeeMember) > (line: 671) > - > org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(java.lang.Object, > java.lang.reflect.Method, java.lang.Object[ ]) (line: 284) > - > org.apache.isis.core.wrapper.proxy.ProxyCreator$1.invoke(java.lang.Object, > java.lang.reflect.Method, java.lang.reflect.Method, java.lang.Object[ ]) > (line: 90) > - mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotific > ationRepository_$$_jvst47b_18.downloadToDatabaseAndDeleteFro > mQueue(mydom.dom.backend.SupplierMarketplace) > - mydom.dom.supplier.subscription.SupplierCompetitionAnalysisService. > downloadCompetitorsInformation(mydom.dom.backend.SupplierMarketplace) > (line: 548) > - mydom.dom.supplier.subscription.schedule. > DownloadCompetitorsInformationGlobally$SupplierUpdateCompetitionInfor > mationRunnable.lambda$0(mydom.infra.supplier.SupplierMarketplaceLocation) > (line: 73) > - mydom.dom.supplier.subscription.schedule. > DownloadCompetitorsInformationGlobally$SupplierUpdateCompetitionInfor > mationRunnable$$Lambda$34.accept(java.lang.Object) > - java.lang.Iterable.forEach(java.util.function.Consumer) (line: 75) > - mydom.dom.supplier.subscription.schedule. > DownloadCompetitorsInformationGlobally$SupplierUpdateCompetitionInfor > mationRunnable.executeWithinExceptionHandler(java.lang.Object) (line: > 60) > - mydom.dom.scheduler.mydomSessionTemplate. > doExecuteWithTransaction(java.lang.Object) (line: 17) > - org.apache.isis.core.runtime.sessiontemplate. > AbstractIsisSessionTemplate$1.execute() (line: 66) > - org.apache.isis.core.runtime.system.transaction. > IsisTransactionManager.executeWithinTransaction(org. > apache.isis.applib.services.command.Command, > org.apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 143) > - org.apache.isis.core.runtime.system.transaction. > IsisTransactionManager.executeWithinTransaction(org. > apache.isis.core.runtime.system.transaction.TransactionalClosure) > (line: 133) > - org.apache.isis.core.runtime.sessiontemplate. > AbstractIsisSessionTemplate.doExecute(java.lang.Object) (line: 63) > - org.apache.isis.core.runtime.sessiontemplate. > AbstractIsisSessionTemplate.execute(org.apache.isis.core. > commons.authentication.AuthenticationSession, java.lang.Object) (line: > 41) > - > mydom.dom.scheduler.AbstractIsisQuartzJob.execute(org.quartz.JobExecutionContext) > (line: 51) > - org.quartz.core.JobRunShell.run() (line: 202) > - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() (line: 573) > > > > Now I’m trying to determine if an exception already occurs when annotating > the “xmlContent” property with: > > @Property(notPersisted = true) > > Being its definition: > > @Property(notPersisted = true) > > @MemberOrder(sequence = "1") > @Column(allowsNull = "false") > @javax.jdo.annotations.Persistent(defaultFetchGroup = "false", columns = { > @javax.jdo.annotations.Column(name = "xmlContent_name"), > @javax.jdo.annotations.Column(name = "xmlContent_mimetype"), > @javax.jdo.annotations.Column(name = "xmlContent_chars", jdbcType = > "CLOB", sqlType = "LONGVARCHAR") }) > public Clob getXmlContent() { > return this.xmlContent; > } > > public void setXmlContent(final Clob xmlContent) { > this.xmlContent = xmlContent; > } > > > But probably that’s not the best solution. > > Is there any other one in current implementation I’m missing? > > Should Apache Isis honor JDO’s defaultFetchGroup = “false” or have > something like “delayedFetch” on @Property? > > > Regards, > > Oscar > > > > > > > > > > Óscar Bou Bou > Socio - IT & GRC Management Services Director > m: +34 620 267 520 > s: <http://www.govertis.com>www.govertis.com e: [email protected] > > LinkedIn: https://www.linkedin.com/in/oscarbou > Twitter: @oscarbou <https://twitter.com/oscarbou> > > > > Este mensaje y los ficheros anexos son confidenciales. Los mismos > contienen información reservada que no puede ser difundida. Si usted ha > recibido este correo por error, tenga la amabilidad de eliminarlo de su > sistema y avisar al remitente mediante reenvío a su dirección electrónica; > no deberá copiar el mensaje ni divulgar su contenido a ninguna persona. > > Su dirección de correo electrónico junto a sus datos personales constan en > un fichero titularidad de GOVERTIS ADVISORY SERVICES, S.L. cuya finalidad > es la de mantener el contacto con Ud. Si quiere saber de qué información > disponemos de Ud., modificarla, y en su caso, cancelarla, puede hacerlo > enviando un escrito al efecto, acompañado de una fotocopia de su D.N.I. a > la siguiente dirección: GOVERTIS ADVISORY SERVICES, S.L. Avda Cortes > Valencianas, 58 – 8º - 6ª. 46015 - Valencia, y Paseo de la Castellana, > 153, 28045 - MADRID. Asimismo, es su responsabilidad comprobar que este > mensaje o sus archivos adjuntos no contengan virus informáticos, y en caso > que los tuvieran eliminarlos. > >
