You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Jonathan Hurley (JIRA)" <ji...@apache.org> on 2017/03/01 20:49:45 UTC

[jira] [Created] (AMBARI-20262) Startup Annotation Scanning Takes Too Long

Jonathan Hurley created AMBARI-20262:
----------------------------------------

             Summary: Startup Annotation Scanning Takes Too Long
                 Key: AMBARI-20262
                 URL: https://issues.apache.org/jira/browse/AMBARI-20262
             Project: Ambari
          Issue Type: Bug
    Affects Versions: 2.5.0
            Reporter: Jonathan Hurley
            Assignee: Jonathan Hurley
            Priority: Critical
             Fix For: 2.5.0


Currently, Ambari uses Spring's {{ClassPathScanningCandidateComponentProvider}} along with an {{AnnotationTypeFilter}} to find classes annotated in our classpath:

{code}
      ClassPathScanningCandidateComponentProvider scanner =
          new ClassPathScanningCandidateComponentProvider(false);

      // match only singletons that are eager listeners
      for (Class<? extends Annotation> cls : classes) {
        scanner.addIncludeFilter(new AnnotationTypeFilter(cls));
      }

      beanDefinitions = scanner.findCandidateComponents(AMBARI_PACKAGE);
{code}

This takes roughly 19 seconds on normal deployments. We can reduce this time to roughly 8 seconds by switching over to Google's {{ClassPath}} via our internal {{ClasspathScannerUtils}}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)