[ 
https://issues.apache.org/jira/browse/TOMEE-4122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard Zowalla resolved TOMEE-4122.
------------------------------------
    Fix Version/s: 8.0.14
       Resolution: Fixed

> Performance Regression in bean resolution in EAR files
> ------------------------------------------------------
>
>                 Key: TOMEE-4122
>                 URL: https://issues.apache.org/jira/browse/TOMEE-4122
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 8.0.13
>            Reporter: Jonathan Gallimore
>            Assignee: Jonathan Gallimore
>            Priority: Major
>             Fix For: 8.0.14
>
>
> This is an interesting regression:
>  
> If a component in the webapp part of an EAR-based application performs a 
> lookup programmatically to a CDI bean, and that bean belongs to the EJB part 
> of the EAR application, there is some interesting behaviour:
>  
> The InjectionResolver is wrapped by a WebappInjectionResolver. This will 
> attempt to lookup by type in the webapp bean archives. If the bean cannot be 
> resolved here (because it is part of the EJB module), WebappInjectionResolver 
> will then look it up in the parent (which will succeed).
>  
> InjectionResolver caches the lookups, but doesn't cache lookup failures 
> (previously it did). The impact is that each time the lookup happens, 
> WebappInjectionResolver will attempt to resolve (and fail) the bean in the 
> webapp archives first, without looking at the cache. 
> This can lead to a significant performance issue, depending on the number of 
> beans in the archives. I have measure it as 1000 TPS vs 60000 TPS.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to