Skip to content

ExtendedBeanInfo is extremely slow processing beans derived from java.awt.Component [SPR-9542] #14176

Closed
@spring-projects-issues

Description

@spring-projects-issues

Thomas Pasch opened SPR-9542 and commented

I've got a spring bean derived from java.awt.Component in my context. The log file (spring on debug) is like:

2012-06-23 16:10:46,834 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Processing injected method of bean 'org.nuclos.client.task.PersonalTaskController': AutowiredMethodElement for void org.nuclos.client.ui.Controller.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:10:46,837 DEBUG AWT-EventQueue-0 [factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'springLocaleDelegate'
2012-06-23 16:10:47,316 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public void java.awt.Component.setSize(int,int)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:10:47,545 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public void java.awt.Component.setLocation(int,int)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:10:52,387 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public final void javax.swing.JComponent.setInputMap(int,javax.swing.InputMap)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:10:52,653 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public void javax.swing.JComponent.setFocusTraversalKeys(int,java.util.Set)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:10:57,018 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public void java.awt.Component.setLocation(int,int)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:11:02,023 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public final void javax.swing.JComponent.setInputMap(int,javax.swing.InputMap)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:11:02,227 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public void javax.swing.JComponent.setFocusTraversalKeys(int,java.util.Set)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:11:04,968 DEBUG AWT-EventQueue-0 [springframework.beans.ExtendedBeanInfo] - Could not add indexed write method [public void java.awt.Component.setSize(int,int)] for property [component]. Reason: type mismatch between indexed read and indexed write methods: component
2012-06-23 16:11:05,467 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Found injected element on class [org.nuclos.client.task.PersonalTaskView]: AutowiredMethodElement for void org.nuclos.client.task.TaskView.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:05,472 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Processing injected method of bean 'org.nuclos.client.task.PersonalTaskView': AutowiredMethodElement for void org.nuclos.client.task.TaskView.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:05,476 DEBUG AWT-EventQueue-0 [factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'springLocaleDelegate'
2012-06-23 16:11:05,477 DEBUG AWT-EventQueue-0 [factory.annotation.AutowiredAnnotationBeanPostProcessor] - Autowiring by type from bean name 'org.nuclos.client.task.PersonalTaskView' to bean named 'springLocaleDelegate'
2012-06-23 16:11:06,975 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Found injected element on class [org.nuclos.client.task.PersonalTaskTableModel]: AutowiredMethodElement for void org.nuclos.client.ui.model.AbstractListTableModel.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:06,985 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Processing injected method of bean 'org.nuclos.client.task.PersonalTaskTableModel': AutowiredMethodElement for void org.nuclos.client.ui.model.AbstractListTableModel.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:06,987 DEBUG AWT-EventQueue-0 [factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'springLocaleDelegate'
2012-06-23 16:11:06,987 DEBUG AWT-EventQueue-0 [factory.annotation.AutowiredAnnotationBeanPostProcessor] - Autowiring by type from bean name 'org.nuclos.client.task.PersonalTaskTableModel' to bean named 'springLocaleDelegate'
2012-06-23 16:11:08,339 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Found injected element on class [org.nuclos.client.ui.collect.component.CollectableTextField]: AutowiredMethodElement for void org.nuclos.client.ui.collect.component.AbstractCollectableComponent.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:08,351 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Processing injected method of bean 'org.nuclos.client.ui.collect.component.CollectableTextField': AutowiredMethodElement for void org.nuclos.client.ui.collect.component.AbstractCollectableComponent.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:08,353 DEBUG AWT-EventQueue-0 [factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'springLocaleDelegate'
2012-06-23 16:11:08,354 DEBUG AWT-EventQueue-0 [factory.annotation.AutowiredAnnotationBeanPostProcessor] - Autowiring by type from bean name 'org.nuclos.client.ui.collect.component.CollectableTextField' to bean named 'springLocaleDelegate'
2012-06-23 16:11:08,539 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Processing injected method of bean 'org.nuclos.client.ui.collect.component.CollectableTextField': AutowiredMethodElement for void org.nuclos.client.ui.collect.component.AbstractCollectableComponent.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:08,543 DEBUG AWT-EventQueue-0 [factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'springLocaleDelegate'
2012-06-23 16:11:09,090 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Processing injected method of bean 'org.nuclos.client.ui.collect.component.CollectableTextField': AutowiredMethodElement for void org.nuclos.client.ui.collect.component.AbstractCollectableComponent.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:09,097 DEBUG AWT-EventQueue-0 [factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'springLocaleDelegate'
2012-06-23 16:11:10,010 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Found injected element on class [org.nuclos.client.ui.collect.component.CollectableDateChooser]: AutowiredMethodElement for void org.nuclos.client.ui.collect.component.AbstractCollectableComponent.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:10,012 DEBUG AWT-EventQueue-0 [factory.annotation.InjectionMetadata] - Processing injected method of bean 'org.nuclos.client.ui.collect.component.CollectableDateChooser': AutowiredMethodElement for void org.nuclos.client.ui.collect.component.AbstractCollectableComponent.setSpringLocaleDelegate(org.nuclos.common2.SpringLocaleDelegate)
2012-06-23 16:11:10,013 DEBUG AWT-EventQueue-0 [factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'springLocaleDelegate'

In other words:

  • Whenever I've got 'Could not add indexed write method...' my application stalls for over one second.

  • As 'Could not add indexed write method...' is there over and over and over in the log, this seems to be a performance hit.

  • Perhaps it would be better to cache if 'adding an indexed write method' is not possible.


Affects: 3.1.1, 3.2 M1

Issue Links:

Metadata

Metadata

Assignees

No one assigned

    Labels

    in: coreIssues in core modules (aop, beans, core, context, expression)status: declinedA suggestion or change that we don't feel we should currently applytype: enhancementA general enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions