isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Haywood <...@haywood-associates.co.uk>
Subject Re: IsisException: Object not yet known to Isis
Date Fri, 13 Dec 2013 16:58:16 GMT
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.bou@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 <dan@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.bou@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
> >>
> >>
> >>
> >>
> >>
>
>

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