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.SupplierAnyOfferChangedNotification.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.SupplierAnyOfferChangedNotification_$$_jvst47b_19.setDeletedFromRemoteQueue(java.lang.Boolean) mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotificationRepository.lambda$1(mydom.dom.backend.SupplierMarketplace, mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotification) (line: 217) mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotificationRepository$$Lambda$103.accept(java.lang.Object) java.util.ArrayList.forEach(java.util.function.Consumer) (line: 1249) mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotificationRepository.deleteNotificationMessages(mydom.dom.backend.SupplierMarketplace, java.util.Collection) (line: 208) mydom.dom.supplier.subscription.SupplierAnyOfferChangedNotificationRepository.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.SupplierAnyOfferChangedNotificationRepository_$$_jvst47b_18.downloadToDatabaseAndDeleteFromQueue(mydom.dom.backend.SupplierMarketplace) mydom.dom.supplier.subscription.SupplierCompetitionAnalysisService.downloadCompetitorsInformation(mydom.dom.backend.SupplierMarketplace) (line: 548) mydom.dom.supplier.subscription.schedule.DownloadCompetitorsInformationGlobally$SupplierUpdateCompetitionInformationRunnable.lambda$0(mydom.infra.supplier.SupplierMarketplaceLocation) (line: 73) mydom.dom.supplier.subscription.schedule.DownloadCompetitorsInformationGlobally$SupplierUpdateCompetitionInformationRunnable$$Lambda$34.accept(java.lang.Object) java.lang.Iterable.forEach(java.util.function.Consumer) (line: 75) mydom.dom.supplier.subscription.schedule.DownloadCompetitorsInformationGlobally$SupplierUpdateCompetitionInformationRunnable.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 <http://www.govertis.com/> e: o....@govertis.com <mailto:o....@govertis.com> LinkedIn: https://www.linkedin.com/in/oscarbou <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.