You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bval.apache.org by Thomas Andraschko <an...@gmail.com> on 2018/10/11 15:16:41 UTC

TomEE8 / OWB2.x / BVal2 - slow startup

Hi,

today i did a first try on TomEE8 and i really wondered about the slow
startup, with even 1 application:

TomEE8:
OpenWebBeans Container has started, it took 9356 ms

TomEE7:
OpenWebBeans Container has started, it took 4287 ms

i found out that ~3 seconds are taken by
BValExtension#processAnnotatedType, but i also know that BVal 2 probably
requires to build metadata for each bean, so a overhead is expected.

A good, first, performance boost would be to enhance the
BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:

    private static final AnnotatedTypeFilter DEFAULT_ANNOTATED_TYPE_FILTER =
        (AnnotatedType<?> annotatedType) -> {
            String className = annotatedType.getJavaClass().getName();
            return !className.startsWith("org.apache.bval.")
                    && !className.startsWith("org.apache.deltaspike.")
                    && !className.startsWith("org.apache.openejb.")
                    && !className.startsWith("org.apache.myfaces.");
    };

This reduces the startup time by 2 seconds to:
OpenWebBeans Container has started, it took 7750 ms.

WDYT?

Best regards,
Thomas

Re: TomEE8 / OWB2.x / BVal2 - slow startup

Posted by Matt Benson <mb...@apache.org>.
Understood.

On Fri, Oct 12, 2018, 7:43 AM Romain Manni-Bucau <rm...@gmail.com>
wrote:

> This is true but it does not prevent the fact tomee will use another impl
> cause this is configurable the "tomee way" so at the end it does not help
> tomee case (but can be beneficial to others).
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>
> Le ven. 12 oct. 2018 à 14:39, Matt Benson <mb...@apache.org> a écrit :
>
> > It would seem we could always filter things even if they weren't present
> in
> > the environment. The simplest thing to do would be to filter all of
> > Thomas's suggestions, and I would move the list into a classpath
> resource.
> >
> > Matt
> >
> > On Thu, Oct 11, 2018, 5:11 PM Romain Manni-Bucau <rm...@gmail.com>
> > wrote:
> >
> > > It is in tomee (see container filter)
> > >
> > > In bval we were more conservative cause we cant assume much the env.
> > >
> > > Le jeu. 11 oct. 2018 18:29, Thomas Andraschko <
> > andraschko.thomas@gmail.com
> > > >
> > > a écrit :
> > >
> > > > this could also be filtered:
> > > >
> > > > javax.xml.bind.*
> > > > javax.faces.*
> > > > javax.servlet.*
> > > >
> > > > Am Do., 11. Okt. 2018 um 17:23 Uhr schrieb Thomas Andraschko <
> > > > andraschko.thomas@gmail.com>:
> > > >
> > > > > Do you think it's better to configure the filter only in TomEE?
> > > > > In OWB we also skip some known jars and configured default filters
> > > > > directly in OWB, probably it makes sense to ignore some known libs
> > also
> > > > > directly in BVal.
> > > > >
> > > > > There is the source of the filter in TomEE:
> > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/tomee/blob/8547f730b7c9fc085534a8f5d1f68340154d2cfe/container/openejb-core/src/main/java/org/apache/openejb/bval/BValCdiFilter.java
> > > > >
> > > > > probably it already filters many stuff but not deltaspike, myfaces
> > and
> > > > > openejb.
> > > > >
> > > > > Am Do., 11. Okt. 2018 um 17:18 Uhr schrieb Romain Manni-Bucau <
> > > > > rmannibucau@gmail.com>:
> > > > >
> > > > >> Hi Thomas,
> > > > >>
> > > > >> you are right
> > > > >>
> > > > >> this is already overrided in tomee to inherit from the tomee
> > > exclusions
> > > > >> which were not updated on tomee 8 AFAIK
> > > > >>
> > > > >> Romain Manni-Bucau
> > > > >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > > >> <https://rmannibucau.metawerx.net/> | Old Blog
> > > > >> <http://rmannibucau.wordpress.com> | Github <
> > > > >> https://github.com/rmannibucau> |
> > > > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > > > >> <
> > > > >>
> > > >
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > > > >> >
> > > > >>
> > > > >>
> > > > >> Le jeu. 11 oct. 2018 à 17:17, Thomas Andraschko <
> > > > >> andraschko.thomas@gmail.com>
> > > > >> a écrit :
> > > > >>
> > > > >> > Hi,
> > > > >> >
> > > > >> > today i did a first try on TomEE8 and i really wondered about
> the
> > > slow
> > > > >> > startup, with even 1 application:
> > > > >> >
> > > > >> > TomEE8:
> > > > >> > OpenWebBeans Container has started, it took 9356 ms
> > > > >> >
> > > > >> > TomEE7:
> > > > >> > OpenWebBeans Container has started, it took 4287 ms
> > > > >> >
> > > > >> > i found out that ~3 seconds are taken by
> > > > >> > BValExtension#processAnnotatedType, but i also know that BVal 2
> > > > probably
> > > > >> > requires to build metadata for each bean, so a overhead is
> > expected.
> > > > >> >
> > > > >> > A good, first, performance boost would be to enhance the
> > > > >> > BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:
> > > > >> >
> > > > >> >     private static final AnnotatedTypeFilter
> > > > >> DEFAULT_ANNOTATED_TYPE_FILTER
> > > > >> > =
> > > > >> >         (AnnotatedType<?> annotatedType) -> {
> > > > >> >             String className =
> > > annotatedType.getJavaClass().getName();
> > > > >> >             return !className.startsWith("org.apache.bval.")
> > > > >> >                     &&
> > > !className.startsWith("org.apache.deltaspike.")
> > > > >> >                     &&
> > !className.startsWith("org.apache.openejb.")
> > > > >> >                     &&
> > !className.startsWith("org.apache.myfaces.");
> > > > >> >     };
> > > > >> >
> > > > >> > This reduces the startup time by 2 seconds to:
> > > > >> > OpenWebBeans Container has started, it took 7750 ms.
> > > > >> >
> > > > >> > WDYT?
> > > > >> >
> > > > >> > Best regards,
> > > > >> > Thomas
> > > > >> >
> > > > >>
> > > > >
> > > >
> > >
> >
>

Re: TomEE8 / OWB2.x / BVal2 - slow startup

Posted by Romain Manni-Bucau <rm...@gmail.com>.
This is true but it does not prevent the fact tomee will use another impl
cause this is configurable the "tomee way" so at the end it does not help
tomee case (but can be beneficial to others).

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le ven. 12 oct. 2018 à 14:39, Matt Benson <mb...@apache.org> a écrit :

> It would seem we could always filter things even if they weren't present in
> the environment. The simplest thing to do would be to filter all of
> Thomas's suggestions, and I would move the list into a classpath resource.
>
> Matt
>
> On Thu, Oct 11, 2018, 5:11 PM Romain Manni-Bucau <rm...@gmail.com>
> wrote:
>
> > It is in tomee (see container filter)
> >
> > In bval we were more conservative cause we cant assume much the env.
> >
> > Le jeu. 11 oct. 2018 18:29, Thomas Andraschko <
> andraschko.thomas@gmail.com
> > >
> > a écrit :
> >
> > > this could also be filtered:
> > >
> > > javax.xml.bind.*
> > > javax.faces.*
> > > javax.servlet.*
> > >
> > > Am Do., 11. Okt. 2018 um 17:23 Uhr schrieb Thomas Andraschko <
> > > andraschko.thomas@gmail.com>:
> > >
> > > > Do you think it's better to configure the filter only in TomEE?
> > > > In OWB we also skip some known jars and configured default filters
> > > > directly in OWB, probably it makes sense to ignore some known libs
> also
> > > > directly in BVal.
> > > >
> > > > There is the source of the filter in TomEE:
> > > >
> > > >
> > >
> >
> https://github.com/apache/tomee/blob/8547f730b7c9fc085534a8f5d1f68340154d2cfe/container/openejb-core/src/main/java/org/apache/openejb/bval/BValCdiFilter.java
> > > >
> > > > probably it already filters many stuff but not deltaspike, myfaces
> and
> > > > openejb.
> > > >
> > > > Am Do., 11. Okt. 2018 um 17:18 Uhr schrieb Romain Manni-Bucau <
> > > > rmannibucau@gmail.com>:
> > > >
> > > >> Hi Thomas,
> > > >>
> > > >> you are right
> > > >>
> > > >> this is already overrided in tomee to inherit from the tomee
> > exclusions
> > > >> which were not updated on tomee 8 AFAIK
> > > >>
> > > >> Romain Manni-Bucau
> > > >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > >> <https://rmannibucau.metawerx.net/> | Old Blog
> > > >> <http://rmannibucau.wordpress.com> | Github <
> > > >> https://github.com/rmannibucau> |
> > > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > > >> <
> > > >>
> > >
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > > >> >
> > > >>
> > > >>
> > > >> Le jeu. 11 oct. 2018 à 17:17, Thomas Andraschko <
> > > >> andraschko.thomas@gmail.com>
> > > >> a écrit :
> > > >>
> > > >> > Hi,
> > > >> >
> > > >> > today i did a first try on TomEE8 and i really wondered about the
> > slow
> > > >> > startup, with even 1 application:
> > > >> >
> > > >> > TomEE8:
> > > >> > OpenWebBeans Container has started, it took 9356 ms
> > > >> >
> > > >> > TomEE7:
> > > >> > OpenWebBeans Container has started, it took 4287 ms
> > > >> >
> > > >> > i found out that ~3 seconds are taken by
> > > >> > BValExtension#processAnnotatedType, but i also know that BVal 2
> > > probably
> > > >> > requires to build metadata for each bean, so a overhead is
> expected.
> > > >> >
> > > >> > A good, first, performance boost would be to enhance the
> > > >> > BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:
> > > >> >
> > > >> >     private static final AnnotatedTypeFilter
> > > >> DEFAULT_ANNOTATED_TYPE_FILTER
> > > >> > =
> > > >> >         (AnnotatedType<?> annotatedType) -> {
> > > >> >             String className =
> > annotatedType.getJavaClass().getName();
> > > >> >             return !className.startsWith("org.apache.bval.")
> > > >> >                     &&
> > !className.startsWith("org.apache.deltaspike.")
> > > >> >                     &&
> !className.startsWith("org.apache.openejb.")
> > > >> >                     &&
> !className.startsWith("org.apache.myfaces.");
> > > >> >     };
> > > >> >
> > > >> > This reduces the startup time by 2 seconds to:
> > > >> > OpenWebBeans Container has started, it took 7750 ms.
> > > >> >
> > > >> > WDYT?
> > > >> >
> > > >> > Best regards,
> > > >> > Thomas
> > > >> >
> > > >>
> > > >
> > >
> >
>

Re: TomEE8 / OWB2.x / BVal2 - slow startup

Posted by Matt Benson <mb...@apache.org>.
It would seem we could always filter things even if they weren't present in
the environment. The simplest thing to do would be to filter all of
Thomas's suggestions, and I would move the list into a classpath resource.

Matt

On Thu, Oct 11, 2018, 5:11 PM Romain Manni-Bucau <rm...@gmail.com>
wrote:

> It is in tomee (see container filter)
>
> In bval we were more conservative cause we cant assume much the env.
>
> Le jeu. 11 oct. 2018 18:29, Thomas Andraschko <andraschko.thomas@gmail.com
> >
> a écrit :
>
> > this could also be filtered:
> >
> > javax.xml.bind.*
> > javax.faces.*
> > javax.servlet.*
> >
> > Am Do., 11. Okt. 2018 um 17:23 Uhr schrieb Thomas Andraschko <
> > andraschko.thomas@gmail.com>:
> >
> > > Do you think it's better to configure the filter only in TomEE?
> > > In OWB we also skip some known jars and configured default filters
> > > directly in OWB, probably it makes sense to ignore some known libs also
> > > directly in BVal.
> > >
> > > There is the source of the filter in TomEE:
> > >
> > >
> >
> https://github.com/apache/tomee/blob/8547f730b7c9fc085534a8f5d1f68340154d2cfe/container/openejb-core/src/main/java/org/apache/openejb/bval/BValCdiFilter.java
> > >
> > > probably it already filters many stuff but not deltaspike, myfaces and
> > > openejb.
> > >
> > > Am Do., 11. Okt. 2018 um 17:18 Uhr schrieb Romain Manni-Bucau <
> > > rmannibucau@gmail.com>:
> > >
> > >> Hi Thomas,
> > >>
> > >> you are right
> > >>
> > >> this is already overrided in tomee to inherit from the tomee
> exclusions
> > >> which were not updated on tomee 8 AFAIK
> > >>
> > >> Romain Manni-Bucau
> > >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > >> <https://rmannibucau.metawerx.net/> | Old Blog
> > >> <http://rmannibucau.wordpress.com> | Github <
> > >> https://github.com/rmannibucau> |
> > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > >> <
> > >>
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >> >
> > >>
> > >>
> > >> Le jeu. 11 oct. 2018 à 17:17, Thomas Andraschko <
> > >> andraschko.thomas@gmail.com>
> > >> a écrit :
> > >>
> > >> > Hi,
> > >> >
> > >> > today i did a first try on TomEE8 and i really wondered about the
> slow
> > >> > startup, with even 1 application:
> > >> >
> > >> > TomEE8:
> > >> > OpenWebBeans Container has started, it took 9356 ms
> > >> >
> > >> > TomEE7:
> > >> > OpenWebBeans Container has started, it took 4287 ms
> > >> >
> > >> > i found out that ~3 seconds are taken by
> > >> > BValExtension#processAnnotatedType, but i also know that BVal 2
> > probably
> > >> > requires to build metadata for each bean, so a overhead is expected.
> > >> >
> > >> > A good, first, performance boost would be to enhance the
> > >> > BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:
> > >> >
> > >> >     private static final AnnotatedTypeFilter
> > >> DEFAULT_ANNOTATED_TYPE_FILTER
> > >> > =
> > >> >         (AnnotatedType<?> annotatedType) -> {
> > >> >             String className =
> annotatedType.getJavaClass().getName();
> > >> >             return !className.startsWith("org.apache.bval.")
> > >> >                     &&
> !className.startsWith("org.apache.deltaspike.")
> > >> >                     && !className.startsWith("org.apache.openejb.")
> > >> >                     && !className.startsWith("org.apache.myfaces.");
> > >> >     };
> > >> >
> > >> > This reduces the startup time by 2 seconds to:
> > >> > OpenWebBeans Container has started, it took 7750 ms.
> > >> >
> > >> > WDYT?
> > >> >
> > >> > Best regards,
> > >> > Thomas
> > >> >
> > >>
> > >
> >
>

Re: TomEE8 / OWB2.x / BVal2 - slow startup

Posted by Romain Manni-Bucau <rm...@gmail.com>.
It is in tomee (see container filter)

In bval we were more conservative cause we cant assume much the env.

Le jeu. 11 oct. 2018 18:29, Thomas Andraschko <an...@gmail.com>
a écrit :

> this could also be filtered:
>
> javax.xml.bind.*
> javax.faces.*
> javax.servlet.*
>
> Am Do., 11. Okt. 2018 um 17:23 Uhr schrieb Thomas Andraschko <
> andraschko.thomas@gmail.com>:
>
> > Do you think it's better to configure the filter only in TomEE?
> > In OWB we also skip some known jars and configured default filters
> > directly in OWB, probably it makes sense to ignore some known libs also
> > directly in BVal.
> >
> > There is the source of the filter in TomEE:
> >
> >
> https://github.com/apache/tomee/blob/8547f730b7c9fc085534a8f5d1f68340154d2cfe/container/openejb-core/src/main/java/org/apache/openejb/bval/BValCdiFilter.java
> >
> > probably it already filters many stuff but not deltaspike, myfaces and
> > openejb.
> >
> > Am Do., 11. Okt. 2018 um 17:18 Uhr schrieb Romain Manni-Bucau <
> > rmannibucau@gmail.com>:
> >
> >> Hi Thomas,
> >>
> >> you are right
> >>
> >> this is already overrided in tomee to inherit from the tomee exclusions
> >> which were not updated on tomee 8 AFAIK
> >>
> >> Romain Manni-Bucau
> >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >> <https://rmannibucau.metawerx.net/> | Old Blog
> >> <http://rmannibucau.wordpress.com> | Github <
> >> https://github.com/rmannibucau> |
> >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> >> <
> >>
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >> >
> >>
> >>
> >> Le jeu. 11 oct. 2018 à 17:17, Thomas Andraschko <
> >> andraschko.thomas@gmail.com>
> >> a écrit :
> >>
> >> > Hi,
> >> >
> >> > today i did a first try on TomEE8 and i really wondered about the slow
> >> > startup, with even 1 application:
> >> >
> >> > TomEE8:
> >> > OpenWebBeans Container has started, it took 9356 ms
> >> >
> >> > TomEE7:
> >> > OpenWebBeans Container has started, it took 4287 ms
> >> >
> >> > i found out that ~3 seconds are taken by
> >> > BValExtension#processAnnotatedType, but i also know that BVal 2
> probably
> >> > requires to build metadata for each bean, so a overhead is expected.
> >> >
> >> > A good, first, performance boost would be to enhance the
> >> > BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:
> >> >
> >> >     private static final AnnotatedTypeFilter
> >> DEFAULT_ANNOTATED_TYPE_FILTER
> >> > =
> >> >         (AnnotatedType<?> annotatedType) -> {
> >> >             String className = annotatedType.getJavaClass().getName();
> >> >             return !className.startsWith("org.apache.bval.")
> >> >                     && !className.startsWith("org.apache.deltaspike.")
> >> >                     && !className.startsWith("org.apache.openejb.")
> >> >                     && !className.startsWith("org.apache.myfaces.");
> >> >     };
> >> >
> >> > This reduces the startup time by 2 seconds to:
> >> > OpenWebBeans Container has started, it took 7750 ms.
> >> >
> >> > WDYT?
> >> >
> >> > Best regards,
> >> > Thomas
> >> >
> >>
> >
>

Re: TomEE8 / OWB2.x / BVal2 - slow startup

Posted by Thomas Andraschko <an...@gmail.com>.
this could also be filtered:

javax.xml.bind.*
javax.faces.*
javax.servlet.*

Am Do., 11. Okt. 2018 um 17:23 Uhr schrieb Thomas Andraschko <
andraschko.thomas@gmail.com>:

> Do you think it's better to configure the filter only in TomEE?
> In OWB we also skip some known jars and configured default filters
> directly in OWB, probably it makes sense to ignore some known libs also
> directly in BVal.
>
> There is the source of the filter in TomEE:
>
> https://github.com/apache/tomee/blob/8547f730b7c9fc085534a8f5d1f68340154d2cfe/container/openejb-core/src/main/java/org/apache/openejb/bval/BValCdiFilter.java
>
> probably it already filters many stuff but not deltaspike, myfaces and
> openejb.
>
> Am Do., 11. Okt. 2018 um 17:18 Uhr schrieb Romain Manni-Bucau <
> rmannibucau@gmail.com>:
>
>> Hi Thomas,
>>
>> you are right
>>
>> this is already overrided in tomee to inherit from the tomee exclusions
>> which were not updated on tomee 8 AFAIK
>>
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> <https://rmannibucau.metawerx.net/> | Old Blog
>> <http://rmannibucau.wordpress.com> | Github <
>> https://github.com/rmannibucau> |
>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>> <
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>> >
>>
>>
>> Le jeu. 11 oct. 2018 à 17:17, Thomas Andraschko <
>> andraschko.thomas@gmail.com>
>> a écrit :
>>
>> > Hi,
>> >
>> > today i did a first try on TomEE8 and i really wondered about the slow
>> > startup, with even 1 application:
>> >
>> > TomEE8:
>> > OpenWebBeans Container has started, it took 9356 ms
>> >
>> > TomEE7:
>> > OpenWebBeans Container has started, it took 4287 ms
>> >
>> > i found out that ~3 seconds are taken by
>> > BValExtension#processAnnotatedType, but i also know that BVal 2 probably
>> > requires to build metadata for each bean, so a overhead is expected.
>> >
>> > A good, first, performance boost would be to enhance the
>> > BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:
>> >
>> >     private static final AnnotatedTypeFilter
>> DEFAULT_ANNOTATED_TYPE_FILTER
>> > =
>> >         (AnnotatedType<?> annotatedType) -> {
>> >             String className = annotatedType.getJavaClass().getName();
>> >             return !className.startsWith("org.apache.bval.")
>> >                     && !className.startsWith("org.apache.deltaspike.")
>> >                     && !className.startsWith("org.apache.openejb.")
>> >                     && !className.startsWith("org.apache.myfaces.");
>> >     };
>> >
>> > This reduces the startup time by 2 seconds to:
>> > OpenWebBeans Container has started, it took 7750 ms.
>> >
>> > WDYT?
>> >
>> > Best regards,
>> > Thomas
>> >
>>
>

Re: TomEE8 / OWB2.x / BVal2 - slow startup

Posted by Thomas Andraschko <an...@gmail.com>.
Do you think it's better to configure the filter only in TomEE?
In OWB we also skip some known jars and configured default filters directly
in OWB, probably it makes sense to ignore some known libs also directly in
BVal.

There is the source of the filter in TomEE:
https://github.com/apache/tomee/blob/8547f730b7c9fc085534a8f5d1f68340154d2cfe/container/openejb-core/src/main/java/org/apache/openejb/bval/BValCdiFilter.java

probably it already filters many stuff but not deltaspike, myfaces and
openejb.

Am Do., 11. Okt. 2018 um 17:18 Uhr schrieb Romain Manni-Bucau <
rmannibucau@gmail.com>:

> Hi Thomas,
>
> you are right
>
> this is already overrided in tomee to inherit from the tomee exclusions
> which were not updated on tomee 8 AFAIK
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>
> Le jeu. 11 oct. 2018 à 17:17, Thomas Andraschko <
> andraschko.thomas@gmail.com>
> a écrit :
>
> > Hi,
> >
> > today i did a first try on TomEE8 and i really wondered about the slow
> > startup, with even 1 application:
> >
> > TomEE8:
> > OpenWebBeans Container has started, it took 9356 ms
> >
> > TomEE7:
> > OpenWebBeans Container has started, it took 4287 ms
> >
> > i found out that ~3 seconds are taken by
> > BValExtension#processAnnotatedType, but i also know that BVal 2 probably
> > requires to build metadata for each bean, so a overhead is expected.
> >
> > A good, first, performance boost would be to enhance the
> > BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:
> >
> >     private static final AnnotatedTypeFilter
> DEFAULT_ANNOTATED_TYPE_FILTER
> > =
> >         (AnnotatedType<?> annotatedType) -> {
> >             String className = annotatedType.getJavaClass().getName();
> >             return !className.startsWith("org.apache.bval.")
> >                     && !className.startsWith("org.apache.deltaspike.")
> >                     && !className.startsWith("org.apache.openejb.")
> >                     && !className.startsWith("org.apache.myfaces.");
> >     };
> >
> > This reduces the startup time by 2 seconds to:
> > OpenWebBeans Container has started, it took 7750 ms.
> >
> > WDYT?
> >
> > Best regards,
> > Thomas
> >
>

Re: TomEE8 / OWB2.x / BVal2 - slow startup

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi Thomas,

you are right

this is already overrided in tomee to inherit from the tomee exclusions
which were not updated on tomee 8 AFAIK

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le jeu. 11 oct. 2018 à 17:17, Thomas Andraschko <an...@gmail.com>
a écrit :

> Hi,
>
> today i did a first try on TomEE8 and i really wondered about the slow
> startup, with even 1 application:
>
> TomEE8:
> OpenWebBeans Container has started, it took 9356 ms
>
> TomEE7:
> OpenWebBeans Container has started, it took 4287 ms
>
> i found out that ~3 seconds are taken by
> BValExtension#processAnnotatedType, but i also know that BVal 2 probably
> requires to build metadata for each bean, so a overhead is expected.
>
> A good, first, performance boost would be to enhance the
> BValExtension#DEFAULT_ANNOTATED_TYPE_FILTER:
>
>     private static final AnnotatedTypeFilter DEFAULT_ANNOTATED_TYPE_FILTER
> =
>         (AnnotatedType<?> annotatedType) -> {
>             String className = annotatedType.getJavaClass().getName();
>             return !className.startsWith("org.apache.bval.")
>                     && !className.startsWith("org.apache.deltaspike.")
>                     && !className.startsWith("org.apache.openejb.")
>                     && !className.startsWith("org.apache.myfaces.");
>     };
>
> This reduces the startup time by 2 seconds to:
> OpenWebBeans Container has started, it took 7750 ms.
>
> WDYT?
>
> Best regards,
> Thomas
>