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)