MyFaces Core
  1. MyFaces Core
  2. MYFACES-3474

[perf] LifecycleProviderFactory does not cache created Factory

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.12, 2.1.6
    • Fix Version/s: 1.2.12, 2.0.13, 2.1.7
    • Component/s: None
    • Labels:
      None

      Description

      It seems that
      org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(FacesContext, ManagedBean) tries to locale implementation of a interface, but the instance found is never stored in application map: see code in org.apache.myfaces.config.annotation.LifecycleProviderFactory.getLifecycleProviderFactory(ExternalContext)

      this lead to Webappclassloader.loadClass invocation, which is sychronized and accesses disk.

      Can significantly affect perfomance of myfaces app with managed-bean in multithreaded environment.

      maybe reason for http://prezi.com/dr3on1qcajzw/www-world-wide-wait-devoxx-edition/ ?

        Activity

        Martin Kočí created issue -
        Martin Kočí made changes -
        Field Original Value New Value
        Attachment MYFACES-3474.patch [ 12515954 ]
        Leonardo Uribe made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.2.12 [ 12319080 ]
        Fix Version/s 2.0.13 [ 12319847 ]
        Fix Version/s 2.1.7 [ 12319845 ]
        Resolution Fixed [ 1 ]
        Leonardo Uribe made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Martin Kočí
            Reporter:
            Martin Kočí
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development