It is, perhaps, possible that the object not yet mapped is already persisted... perhaps it's being loaded lazily earlier on somehow, and isn't being picked up by the synchronizer.
Can you put a break point at the ensureRootLogging(...) when it throws the exception, and copy the full stack trace out? Also, there may be a quick fix (though it's a bit hacky; it'd be nice to understand why this is breaking). Even so, to apply that possible fix/hack, in ensureRootLObject(...), change the call to "getAdapterFor(...)" to instead call "adapterFor(...)"; this latter method will create the adapter if it's not there. Dan On 13 December 2013 16:37, GESCONSULTOR - Óscar Bou <o....@gesconsultor.com>wrote: > Thanks a lot, Dan. > > This object is: [value=1.000000000000000, [name=1 hour, > [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > > That "PointInTime" was initially created through a Fixture - on a past > execution -, and currently loaded from the database through a repository > call. > > The code for the repository's method, "findByPropMultiTenant" is the next > one: > > @Programmatic > public <S extends AbstractXMSDomainObject> List<S> > findByPropMultiTenant(final String tenantId, final Class<S> clazz, final > String whereClause, final Integer firstResult, final Integer maxResults, > final String orderClause) { > return > IsisContext.getTransactionManager().executeWithinTransaction(new > TransactionalClosureWithReturnAbstract<List<S>>() { > > @Override > public List<S> execute() { > return > AbstractXMSDomainObjectRepositoryAndFactory.this.doFindByPropMultiTenant(tenantId, > clazz, whereClause, firstResult, maxResults, orderClause); > } > > @Override > public void onFailure() { > > } > }); > > } > > @SuppressWarnings("unchecked") > @Programmatic > private <S extends AbstractXMSDomainObject> List<S> > doFindByPropMultiTenant(final String tenantId, final Class<S> clazz, final > String whereClause, final Integer firstResult, final Integer maxResults, > final String orderClause) { > > // Ensure any newly persisted objects are saved to the object store > // before executing the query. > this.getContainer().flush(); > > // See this for examples: > // > http://www.datanucleus.org/products/accessplatform_2_1/jdo/query_api.html > final Query query = > this.isisJdoSupport.getJdoPersistenceManager().newQuery(clazz); > > // Always add the Tenant filter. > String filter = String.format("tenantId == '%s'", tenantId); > if ((whereClause != null) && (whereClause.trim().length() != 0)) { > filter = filter.concat(" && ").concat(whereClause); > } > query.setFilter(filter); > > query.setRange(this.firstResultToLong(firstResult), > this.maxResultsToLong(maxResults)); > final List<S> result = (List<S>) query.execute(); > return result; > } > > > > Thanks, > > Oscar > > > > > > El 13/12/2013, a las 17:15, Dan Haywood <d...@haywood-associates.co.uk> > escribió: > > > Hi Oscar, > > the stack trace is somewhat truncated, unfortunately, but I think I can > > approximately work it out. > > > > *It starts to get useful down at the very end, in the last nested > block...* > > > > > > Caused by: org.apache.isis.core.commons.exceptions.IsisException: Object > > not yet known to Isis: [value=1.000000000000000, [name=1 hour, > > [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > > > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > > at > > org.apache.isis.objectstore.jdo.datanucleus.persistence. > > FrameworkSynchronizer.ensureRootObject(FrameworkSynchronizer.java:353) > > at > > org.apache.isis.objectstore.jdo.datanucleus.persistence. > > FrameworkSynchronizer$2.run(FrameworkSynchronizer.java:143) > > at > > org.apache.isis.objectstore.jdo.datanucleus.persistence. > > FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:291) > > at > > org.apache.isis.objectstore.jdo.datanucleus.persistence. > > FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:287) > > at > > org.apache.isis.objectstore.jdo.datanucleus.persistence. > > FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:276) > > > > > > > > *From what I can see, there's a repository query...* > > > > com.xms.framework.common.domain.model.AbstractXMSDomainObjectReposit > > oryAndFactory.findByPropMultiTenant(AbstractXMSDomainObjectReposit > > oryAndFactory.java:509) > > at > > com.xms.framework.common.domain.model.AbstractXMSDomainObjectReposit > > oryAndFactory.findByProp(AbstractXMSDomainObjectReposit > > oryAndFactory.java:502) > > at > > com.xms.framework.common.domain.model.AbstractSingletonMultiTenantOb > > jectRepositoryAndFactory.singletonInstance(AbstractSingletonMultiTenantOb > > jectRepositoryAndFactory.java:16) > > at > > com.xms.framework.monitoring.domain.model.architecture. > > AssetsMonitoringInformation.monitoringInformation( > > AssetsMonitoringInformation.java:12) > > > > > > > > *which (as they all do) causes a flush of the xactn, which in turn causes > > some queued up "create object" commands to be executed...* > > > > org.apache.isis.objectstore.jdo.datanucleus.persistence.commands. > > DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand > > .java:54) > > at > > org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore. > > executeCommands(DataNucleusObjectStore.java:361) > > > > > > > > > > *DataNucleus then does its persist...* > > > > org.datanucleus.state.JDOStateManager.internalMakePersistent( > > JDOStateManager.java:3779) > > at > > org.datanucleus.state.JDOStateManager.makePersistent( > > JDOStateManager.java:3752) > > > > > > > > > > *and calls Isis through a callback:* > > > > org.datanucleus.api.jdo.JDOCallbackHandler.postStore( > > JDOCallbackHandler.java:158) > > at > > > > > > > > *Isis then attempts to synchronize its state with that of DataNucleus, > and > > fails fast because it's being asked to locate an object that it has never > > seen before:* > > > > Caused by: java.lang.RuntimeException: > > org.apache.isis.core.commons.exceptions.IsisException: Object not yet > > known to Isis: [value=1.000000000000000, [name=1 hour, > > [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > > > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > > at > > org.apache.isis.objectstore.jdo.datanucleus.persistence. > > FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:278) > > at > > org.apache.isis.objectstore.jdo.datanucleus.persistence. > > FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:287) > > > > > > *The actual exception is thrown by > FrameworkSynchronizer#ensureRootObject* > > > > void ensureRootObject(final PersistenceCapable pojo) { > > final ObjectAdapter adapter = > > getAdapterManager().getAdapterFor(pojo); > > if(adapter == null) { > > throw new IsisException(MessageFormat.format("Object not yet > > known to Isis: {0}", pojo)); > > } > > > > > > > > > > *This is a "fail fast" because, I think, it ought not to happen... if the > > object was created using > > DomainObjectContainer#createTransientInstance(...), then the pojo's > adapter > > would be in the AdapterManager.* > > > > Could you put a break point on the failing line (in ensureRootObject) and > > find out which object is not mapped, then see how that object is > originally > > instantiated (eg put a break point in that object's constructor and look > > down the stacktrace). > > > > > > Dan > > > > > > > > > > > > > > On 13 December 2013 15:55, GESCONSULTOR - Óscar Bou > > <o....@gesconsultor.com>wrote: > > > >> > >> Hi to all. > >> > >> While testing a part of our app, the following exception has been > raised. > >> It blocks the execution of any logic. > >> > >> Not sure about if it's a framework error or perhaps something regarding > >> Isis Session management. > >> > >> Any help, please? > >> > >> Thanks, > >> > >> Oscar > >> > >> > >> > >> > >> 16:40:05,021 [IsisTransaction http-8094-7 INFO ] abort > >> transaction IsisTransaction@4ff9c1a1[state=MUST_ABORT,commands=0] > >> 16:40:05,022 [JSONRPCController http-8094-7 ERROR] Exception > >> executing consequence for rule "event handler: Asset Dimension Impact > >> restored. Send emails" in com.xms.framework.monitoring.rules: > >> java.lang.RuntimeException: > >> org.apache.isis.core.commons.exceptions.IsisException: Object not yet > >> known to Isis: [value=1.000000000000000, [name=1 hour, > >> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >> com.xms.framework.api.exception.XMSRuntimeException: Exception executing > >> consequence for rule "event handler: Asset Dimension Impact restored. > >> Send emails" in com.xms.framework.monitoring.rules: > >> java.lang.RuntimeException: > >> org.apache.isis.core.commons.exceptions.IsisException: Object not yet > >> known to Isis: [value=1.000000000000000, [name=1 hour, > >> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >> at > >> > >> > com.xms.framework.devstudio.service.AbstractDevStudioDomainService.executeAction(AbstractDevStudioDomainService.java:188) > >> at > >> > >> > com.xms.framework.impl.devstudio.service.XMSDomainCustomizeMethodsService.realTimeDashboards_notifyServiceUp(XMSDomainCustomizeMethodsService.java:5422) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> at > >> > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >> at > >> > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >> at java.lang.reflect.Method.invoke(Method.java:597) > >> at > >> > >> > com.wavemaker.runtime.service.reflect.ReflectServiceType.invokeMethod(ReflectServiceType.java:115) > >> at > >> > >> > com.wavemaker.runtime.server.ServerUtils.invokeMethodWithEvents(ServerUtils.java:293) > >> at > >> > >> > com.wavemaker.runtime.server.ControllerBase.invokeMethod(ControllerBase.java:263) > >> at > >> > >> > com.wavemaker.runtime.server.JSONRPCController.executeRequest(JSONRPCController.java:109) > >> at > >> > >> > com.wavemaker.runtime.server.ControllerBase.handleRequestInternal(ControllerBase.java:135) > >> at > >> > >> > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) > >> at > >> > >> > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > >> at > >> > >> > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) > >> at > >> > >> > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) > >> at > >> > >> > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) > >> at > >> > >> > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) > >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > >> at > >> > >> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > >> at > >> > >> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > >> at > >> > >> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > >> at > >> > >> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) > >> at > >> > >> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> at > >> > >> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > >> at > >> > >> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> at > >> > >> > org.apache.isis.core.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:320) > >> at > >> > >> > org.apache.isis.core.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:409) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> at > >> > >> > org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) > >> at > >> > >> > org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) > >> at > >> > >> > org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) > >> at > >> > >> > org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) > >> at > >> > >> > org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) > >> at > >> > >> > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) > >> at > >> > >> > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >> at > >> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> at > >> > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > >> at > >> > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > >> at > >> > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > >> at > >> > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > >> at > >> > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >> at > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > >> at > >> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) > >> at > >> > >> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) > >> at > >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > >> at java.lang.Thread.run(Thread.java:662) > >> Caused by: Exception executing consequence for rule "event handler: > >> Asset Dimension Impact restored. Send emails" in > >> com.xms.framework.monitoring.rules: java.lang.RuntimeException: > >> org.apache.isis.core.commons.exceptions.IsisException: Object not yet > >> known to Isis: [value=1.000000000000000, [name=1 hour, > >> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >> at > >> > >> > org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39) > >> at > >> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1297) > >> at > >> org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221) > >> at > >> org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456) > >> at > >> > >> > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710) > >> at > >> > >> > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674) > >> at > >> > >> > org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230) > >> at > >> > >> > com.xms.framework.monitoring.domain.model.realtime.server.RealTimeIntelligentMonitoringServer.insertCommand(RealTimeIntelligentMonitoringServer.java:51) > >> at > >> > >> > com.xms.framework.monitoring.domain.model.realtime.dashboards.RealTimeDashboards.notifyServiceUp(RealTimeDashboards.java:389) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> at > >> > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >> at > >> > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >> at java.lang.reflect.Method.invoke(Method.java:597) > >> at > >> > >> > org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod.invoke(ActionInvocationFacetViaMethod.java:111) > >> at > >> > >> > org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:56) > >> at > >> > >> > org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:53) > >> at > >> > >> > org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:217) > >> at > >> > >> > org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:53) > >> at > >> > >> > org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:345) > >> at > >> > >> > com.xms.framework.devstudio.service.AbstractDevStudioDomainService.executeAction(AbstractDevStudioDomainService.java:183) > >> ... 73 more > >> Caused by: java.lang.RuntimeException: > >> org.apache.isis.core.commons.exceptions.IsisException: Object not yet > >> known to Isis: [value=1.000000000000000, [name=1 hour, > >> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:278) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:287) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postStoreProcessingFor(FrameworkSynchronizer.java:140) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener$2.doRun(IsisLifecycleListener.java:95) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener$RunnableAbstract.run(IsisLifecycleListener.java:201) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener.withLogging(IsisLifecycleListener.java:180) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener.postStore(IsisLifecycleListener.java:91) > >> at > >> > >> > org.datanucleus.api.jdo.JDOCallbackHandler.postStore(JDOCallbackHandler.java:158) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3779) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2300) > >> at > >> > >> > org.datanucleus.store.types.SCOUtils.validateObjectForWriting(SCOUtils.java:1348) > >> at > >> > >> > org.datanucleus.store.rdbms.scostore.ElementContainerStore.validateElementForWriting(ElementContainerStore.java:369) > >> at > >> org.datanucleus.store.rdbms.scostore.FKSetStore.add(FKSetStore.java:401) > >> at > >> > org.datanucleus.store.rdbms.scostore.FKSetStore.addAll(FKSetStore.java:556) > >> at > >> > >> > org.datanucleus.store.rdbms.mapping.java.CollectionMapping.postInsert(CollectionMapping.java:136) > >> at > >> > >> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:519) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2294) > >> at > >> > >> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:567) > >> at > >> > >> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:326) > >> at > >> > >> > org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:193) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.providedObjectField(JDOStateManager.java:1269) > >> at > >> > >> > com.xms.framework.architecture.domain.model.valuation.ConsequencesByTimeAndCriterion.jdoProvideField(ConsequencesByTimeAndCriterion.java) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObject.jdoProvideFields(AbstractXMSDomainObject.java) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.provideFields(JDOStateManager.java:1346) > >> at > >> > >> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:289) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2294) > >> at > >> > >> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:567) > >> at > >> > >> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:326) > >> at > >> > >> > org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:193) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.providedObjectField(JDOStateManager.java:1269) > >> at > >> > >> > com.xms.framework.architecture.domain.model.Asset.jdoProvideField(Asset.java) > >> at > >> > >> > com.xms.framework.architecture.domain.model.Service.jdoProvideField(Service.java) > >> at > >> > >> > com.xms.framework.architecture.domain.model.technology.InfrastructureService.jdoProvideField(InfrastructureService.java) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObject.jdoProvideFields(AbstractXMSDomainObject.java) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.provideFields(JDOStateManager.java:1346) > >> at > >> > >> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:289) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:163) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2294) > >> at > >> > >> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:567) > >> at > >> > >> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:326) > >> at > >> > >> > org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:193) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.providedObjectField(JDOStateManager.java:1269) > >> at > >> > >> > com.xms.framework.risk.domain.model.materialization.EventOccurrence.jdoProvideField(EventOccurrence.java) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObject.jdoProvideFields(AbstractXMSDomainObject.java) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.provideFields(JDOStateManager.java:1346) > >> at > >> > >> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:289) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >> at > >> > >> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >> at > >> > >> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:2045) > >> at > >> > >> > org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1893) > >> at > >> > >> > org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:727) > >> at > >> > >> > org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:752) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:54) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:361) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:355) > >> at > >> > >> > org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:388) > >> at > >> > >> > org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:337) > >> at > >> > >> > org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:298) > >> at > >> > >> > org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$7.flush(RuntimeContextFromSession.java:221) > >> at > >> > >> > org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.flush(DomainObjectContainerDefault.java:229) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.doFindByPropMultiTenant(AbstractXMSDomainObjectRepositoryAndFactory.java:525) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.access$900(AbstractXMSDomainObjectRepositoryAndFactory.java:37) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory$10.execute(AbstractXMSDomainObjectRepositoryAndFactory.java:513) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory$10.execute(AbstractXMSDomainObjectRepositoryAndFactory.java:509) > >> at > >> > >> > org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:217) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.findByPropMultiTenant(AbstractXMSDomainObjectRepositoryAndFactory.java:509) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.findByProp(AbstractXMSDomainObjectRepositoryAndFactory.java:502) > >> at > >> > >> > com.xms.framework.common.domain.model.AbstractSingletonMultiTenantObjectRepositoryAndFactory.singletonInstance(AbstractSingletonMultiTenantObjectRepositoryAndFactory.java:16) > >> at > >> > >> > com.xms.framework.monitoring.domain.model.architecture.AssetsMonitoringInformation.monitoringInformation(AssetsMonitoringInformation.java:12) > >> at > >> > >> > com.xms.framework.monitoring.rules.SendNotificationEmailsForAssetMonitoringEvent.sendNotificationEmailsForAssetMonitoringEvent(SendNotificationEmailsForAssetMonitoringEvent.java:97) > >> at > >> > >> > com.xms.framework.monitoring.rules.Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bc.defaultConsequence(Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bc.java:9) > >> at > >> > >> > com.xms.framework.monitoring.rules.Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bcDefaultConsequenceInvokerGenerated.evaluate(Unknown > >> Source) > >> at > >> > >> > com.xms.framework.monitoring.rules.Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bcDefaultConsequenceInvoker.evaluate(Unknown > >> Source) > >> at > >> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287) > >> ... 91 more > >> Caused by: org.apache.isis.core.commons.exceptions.IsisException: Object > >> not yet known to Isis: [value=1.000000000000000, [name=1 hour, > >> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.ensureRootObject(FrameworkSynchronizer.java:353) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$2.run(FrameworkSynchronizer.java:143) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:291) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:287) > >> at > >> > >> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:276) > >> ... 184 more > >> > >> > >> > >> > >> > >