[ https://issues.apache.org/jira/browse/ISIS-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood updated ISIS-1051: ------------------------------ Summary: performance fix: LayoutMetadataReaderFromJson is called too often (was: Only call LayoutMetadataReaderFromJson on entities) > performance fix: LayoutMetadataReaderFromJson is called too often > ----------------------------------------------------------------- > > Key: ISIS-1051 > URL: https://issues.apache.org/jira/browse/ISIS-1051 > Project: Isis > Issue Type: Improvement > Components: Core > Affects Versions: core-1.7.0 > Reporter: Dan Haywood > Assignee: Dan Haywood > Fix For: 1.10.0 > > > Taken from a comment by Martin on ISIS-931: > While debugging ISIS-911 I've noticed that > org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson#asProperties > is expensive. It is called at start time and tries to load .layout.json file > for every introspected method. This includes JRE classes, JDO classes, and > many more. I think it should be called only for objects/entities. The > expensiveness is that it tries to find a file in the classpath and if it is > not found then it throws > org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader.ReaderException. > The stacktrace of this exception is ignored at > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder#readMetadataProperties > so > ReaderException could override java.lang.Throwable#fillInStackTrace() to > return null and save some time. -- This message was sent by Atlassian JIRA (v6.3.4#6332)