Details

      Description

      We have a project with 15 entities, using GWT.

      When starting the Roo-shell in STS it needs more then 10 minutes (consuming 100% CPU) until it executes a command (e.g. "hint");
      When starting the Roo-shell from command line (Win-XP), it's just a matter of < 30 seconds...

      with the metadata status command I see no big difference between external roo shell and sts-embedded one. maybe it's an STS/eclipse issue?

      here are the results of metadata status:

      sts:

      roo> metadata status
      000003 ms; 003429 call(s): org.springframework.roo.project.AutomaticProjectUpgradeService
      000004 ms; 003429 call(s): org.springframework.roo.classpath.TypeLocationServiceImpl
      000132 ms; 002003 call(s): org.springframework.roo.addon.configurable.ConfigurableMetadataProviderImpl
      000142 ms; 002772 call(s): org.springframework.roo.addon.solr.SolrMetadataProvider
      000148 ms; 002772 call(s): org.springframework.roo.addon.solr.SolrWebSearchMetadataProvider
      000153 ms; 002772 call(s): org.springframework.roo.addon.entity.IdentifierMetadataProviderImpl
      000153 ms; 001720 call(s): org.springframework.roo.addon.solr.SolrMetadata
      000155 ms; 002672 call(s): org.springframework.roo.addon.serializable.SerializableMetadataProviderImpl
      000158 ms; 002772 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.json.WebJsonMetadataProviderImpl
      000160 ms; 001720 call(s): org.springframework.roo.addon.entity.IdentifierMetadata
      000161 ms; 001720 call(s): org.springframework.roo.addon.solr.SolrWebSearchMetadata
      000166 ms; 001720 call(s): org.springframework.roo.addon.serializable.SerializableMetadata
      000166 ms; 002772 call(s): org.springframework.roo.addon.web.mvc.controller.converter.ConversionServiceMetadataProvider
      000171 ms; 002772 call(s): org.springframework.roo.addon.property.editor.EditorMetadataProvider
      000177 ms; 001720 call(s): org.springframework.roo.addon.configurable.ConfigurableMetadata
      000184 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.converter.ConversionServiceMetadata
      000188 ms; 001720 call(s): org.springframework.roo.addon.dod.DataOnDemandMetadata
      000198 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.mvc.WebScaffoldMetadata
      000203 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.finder.WebFinderMetadata
      000210 ms; 001720 call(s): org.springframework.roo.addon.property.editor.EditorMetadata
      000239 ms; 002772 call(s): org.springframework.roo.addon.json.JsonMetadataProvider
      000244 ms; 001720 call(s): org.springframework.roo.addon.json.JsonMetadata
      000257 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.json.WebJsonMetadata
      000261 ms; 002772 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.finder.WebFinderMetadataProviderImpl
      000329 ms; 006197 call(s): org.springframework.roo.addon.dod.DataOnDemandMetadataProvider
      000376 ms; 002770 call(s): org.springframework.roo.addon.test.IntegrationTestMetadataProvider
      000454 ms; 001720 call(s): org.springframework.roo.addon.test.IntegrationTestMetadata
      001194 ms; 001727 call(s): org.springframework.roo.addon.tostring.ToStringMetadata
      001427 ms; 001720 call(s): org.springframework.roo.addon.entity.EntityMetadata
      002061 ms; 001720 call(s): org.springframework.roo.addon.finder.FinderMetadata
      002463 ms; 001879 call(s): org.springframework.roo.addon.javabean.JavaBeanMetadataProvider
      002888 ms; 001720 call(s): org.springframework.roo.addon.plural.PluralMetadata
      003073 ms; 001793 call(s): org.springframework.roo.addon.plural.PluralMetadataProviderImpl
      003139 ms; 001720 call(s): org.springframework.roo.addon.javabean.JavaBeanMetadata
      003519 ms; 002772 call(s): org.springframework.roo.addon.dbre.DbreMetadataProviderImpl
      003527 ms; 001720 call(s): org.springframework.roo.addon.dbre.DbreMetadata
      003651 ms; 002252 call(s): org.springframework.roo.addon.entity.EntityMetadataProviderImpl
      003765 ms; 005616 call(s): org.springframework.roo.addon.finder.FinderMetadataProviderImpl
      005490 ms; 005423 call(s): org.springframework.roo.addon.tostring.ToStringMetadataProvider
      006709 ms; 003955 call(s): org.springframework.roo.classpath.javaparser.JavaParserMetadataProvider
      008294 ms; 000372 call(s): org.springframework.roo.classpath.PhysicalTypeIdentifier
      010427 ms; 000002 call(s): org.springframework.roo.project.MavenProjectMetadataProvider
      013656 ms; 000041 call(s): org.springframework.roo.addon.gwt.GwtMetadataProviderImpl
      013855 ms; 006201 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.mvc.WebScaffoldMetadataProviderImpl
      027308 ms; 001720 call(s): org.springframework.roo.addon.gwt.GwtMetadata
      046831 ms; 003429 call(s): org.springframework.roo.project.ProjectPathMonitoringInitializer
      [DefaultMetadataService@19fa325 validGets = 163958, recursiveGets = 276, cachePuts = 6909, cacheHits = 111646, cacheMisses = 52312, cacheEvictions = 49365, cacheCurrentSize = 2308, cacheMaximumSize = 100000]

      command-line:

      roo> metadata status
      000003 ms; 003458 call(s): org.springframework.roo.project.AutomaticProjectUpgradeService
      000004 ms; 003458 call(s): org.springframework.roo.classpath.TypeLocationServiceImpl
      000105 ms; 002009 call(s): org.springframework.roo.addon.configurable.ConfigurableMetadataProviderImpl
      000131 ms; 002805 call(s): org.springframework.roo.addon.solr.SolrMetadataProvider
      000132 ms; 002805 call(s): org.springframework.roo.addon.solr.SolrWebSearchMetadataProvider
      000133 ms; 002805 call(s): org.springframework.roo.addon.entity.IdentifierMetadataProviderImpl
      000138 ms; 002805 call(s): org.springframework.roo.addon.json.JsonMetadataProvider
      000141 ms; 002805 call(s): org.springframework.roo.addon.property.editor.EditorMetadataProvider
      000141 ms; 001720 call(s): org.springframework.roo.addon.configurable.ConfigurableMetadata
      000144 ms; 002702 call(s): org.springframework.roo.addon.serializable.SerializableMetadataProviderImpl
      000144 ms; 001720 call(s): org.springframework.roo.addon.solr.SolrMetadata
      000145 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.json.WebJsonMetadata
      000146 ms; 002805 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.json.WebJsonMetadataProviderImpl
      000147 ms; 001720 call(s): org.springframework.roo.addon.solr.SolrWebSearchMetadata
      000147 ms; 001720 call(s): org.springframework.roo.addon.serializable.SerializableMetadata
      000147 ms; 002805 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.finder.WebFinderMetadataProviderImpl
      000149 ms; 001720 call(s): org.springframework.roo.addon.entity.IdentifierMetadata
      000149 ms; 001720 call(s): org.springframework.roo.addon.property.editor.EditorMetadata
      000151 ms; 002805 call(s): org.springframework.roo.addon.web.mvc.controller.converter.ConversionServiceMetadataProvider
      000164 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.mvc.WebScaffoldMetadata
      000168 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.finder.WebFinderMetadata
      000168 ms; 006263 call(s): org.springframework.roo.addon.web.mvc.controller.scaffold.mvc.WebScaffoldMetadataProviderImpl
      000173 ms; 001720 call(s): org.springframework.roo.addon.web.mvc.controller.converter.ConversionServiceMetadata
      000179 ms; 002803 call(s): org.springframework.roo.addon.test.IntegrationTestMetadataProvider
      000183 ms; 001720 call(s): org.springframework.roo.addon.dod.DataOnDemandMetadata
      000186 ms; 001720 call(s): org.springframework.roo.addon.test.IntegrationTestMetadata
      000295 ms; 001720 call(s): org.springframework.roo.addon.json.JsonMetadata
      000827 ms; 001727 call(s): org.springframework.roo.addon.tostring.ToStringMetadata
      001131 ms; 001720 call(s): org.springframework.roo.addon.entity.EntityMetadata
      001329 ms; 001720 call(s): org.springframework.roo.addon.finder.FinderMetadata
      002165 ms; 001885 call(s): org.springframework.roo.addon.javabean.JavaBeanMetadataProvider
      002707 ms; 001720 call(s): org.springframework.roo.addon.plural.PluralMetadata
      002730 ms; 001720 call(s): org.springframework.roo.addon.javabean.JavaBeanMetadata
      002733 ms; 001793 call(s): org.springframework.roo.addon.plural.PluralMetadataProviderImpl
      002779 ms; 002258 call(s): org.springframework.roo.addon.entity.EntityMetadataProviderImpl
      002919 ms; 001720 call(s): org.springframework.roo.addon.dbre.DbreMetadata
      002927 ms; 002805 call(s): org.springframework.roo.addon.dbre.DbreMetadataProviderImpl
      003126 ms; 005480 call(s): org.springframework.roo.addon.tostring.ToStringMetadataProvider
      004131 ms; 005617 call(s): org.springframework.roo.addon.finder.FinderMetadataProviderImpl
      005506 ms; 003955 call(s): org.springframework.roo.classpath.javaparser.JavaParserMetadataProvider
      006417 ms; 000372 call(s): org.springframework.roo.classpath.PhysicalTypeIdentifier
      007402 ms; 000002 call(s): org.springframework.roo.project.MavenProjectMetadataProvider
      010047 ms; 000041 call(s): org.springframework.roo.addon.gwt.GwtMetadataProviderImpl
      010256 ms; 006259 call(s): org.springframework.roo.addon.dod.DataOnDemandMetadataProvider
      020806 ms; 001720 call(s): org.springframework.roo.addon.gwt.GwtMetadata
      036501 ms; 003458 call(s): org.springframework.roo.project.ProjectPathMonitoringInitializer
      [DefaultMetadataService@8d7ba4 validGets = 165153, recursiveGets = 304, cachePuts = 6965, cacheHits = 112369, cacheMisses = 52784, cacheEvictions = 49782, cacheCurrentSize = 2308, cacheMaximumSize = 1
      00000]

      1. large-gwt.roo
        9 kB
        James Tyrrell

        Activity

        Hide
        James Tyrrell added a comment -

        Hey Markus, I will try to replicate. It definitely seems like an STS issue though.

        Show
        James Tyrrell added a comment - Hey Markus, I will try to replicate. It definitely seems like an STS issue though.
        Hide
        James Tyrrell added a comment -

        Hey Markus, I can't replicate the issue with the latest snapshot. I have attached the project, which has 16 entities, that I used to try and verify the issue.

        Show
        James Tyrrell added a comment - Hey Markus, I can't replicate the issue with the latest snapshot. I have attached the project, which has 16 entities, that I used to try and verify the issue.
        Hide
        James Tyrrell added a comment -

        Hey Markus, I am closing this off as I can't replicate it. If this is still an issue for you please let me know and I will reopen the issue and work with you to see what is going wrong.

        Show
        James Tyrrell added a comment - Hey Markus, I am closing this off as I can't replicate it. If this is still an issue for you please let me know and I will reopen the issue and work with you to see what is going wrong.
        Hide
        Chris Kal added a comment -

        Hi, I can reproduce this behavior even in Roo 1.1.5 (on Windows and Mac):

        • Start STS with a large Roo project
        • Start the Roo shell in STS
        • Immediately afterwards either refresh/clear the project or start the maven script to compile/build
        • Nothing happens for some minutes, then the refresh/clear/maven script is executed.

        It seems like there is a whole build/validation of the project after the Roo shell was started which stops everything else.
        Thanks

        Chris

        Show
        Chris Kal added a comment - Hi, I can reproduce this behavior even in Roo 1.1.5 (on Windows and Mac): Start STS with a large Roo project Start the Roo shell in STS Immediately afterwards either refresh/clear the project or start the maven script to compile/build Nothing happens for some minutes, then the refresh/clear/maven script is executed. It seems like there is a whole build/validation of the project after the Roo shell was started which stops everything else. Thanks Chris

          People

          • Assignee:
            James Tyrrell
            Reporter:
            Markus Strenn
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: