Re: Application specific el-api

2022-04-28 Thread Christopher Schultz

Mark, Vladimir,

On 4/28/22 12:10, Mark Thomas wrote:

On 28/04/2022 16:54, vladimir dvorak wrote:

   Hi,

my intention is to use custom el-api with modified BeanELResolver, that
uses instead slow reflection API much faster
https://github.com/EsotericSoftware/reflectasm


You have a couple of options.

1. Replace the el-api.jar in $CATALINA_BASE/lib.

Not ideal as deploy just got a lot more complicated than just copying a 
WAR file but it does give you exactly what you want.


2. If you are using the EL in JSPs, then you can add your custom 
ELResolver to the JspApplicationContext and it will get used in 
preference to the BeanELResolver.


This keeps everything in the application but does require a little 
plumbing to register the customer resolver when the web app starts.


I wonder how much of a performance benefit reflectasm gives, since 
Tomcat's implementation should be providing not just reflective-access 
to object properties, but /cached/ reflective access to properties.


It's not just calling Class.forName(beanType).getMethod("get" + 
capicalize(propertyName)) every time it sees a property-access.


-chris

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Application specific el-api

2022-04-28 Thread Mark Thomas

On 28/04/2022 16:54, vladimir dvorak wrote:

   Hi,

my intention is to use custom el-api with modified BeanELResolver, that
uses instead slow reflection API much faster
https://github.com/EsotericSoftware/reflectasm


You have a couple of options.

1. Replace the el-api.jar in $CATALINA_BASE/lib.

Not ideal as deploy just got a lot more complicated than just copying a 
WAR file but it does give you exactly what you want.


2. If you are using the EL in JSPs, then you can add your custom 
ELResolver to the JspApplicationContext and it will get used in 
preference to the BeanELResolver.


This keeps everything in the application but does require a little 
plumbing to register the customer resolver when the web app starts.


Mark




kind regards Vladimir

čt 28. 4. 2022 v 17:46 odesílatel Mark Thomas  napsal:


On 28/04/2022 16:30, vladimir dvorak wrote:

Hi,

I'm trying to use jakarta-el, which is an alternative to el-api.jar from
Tomcat. Jakarta-el is deployed with application, implementation part of

lib

works correctly since it uses separate package,
but I can't force the Tomcat classloader mechanism to not use the classes
from api part TOMCAT_DIR/lib/el-api.jar but rather jakarta-el-api.jar.

I've

excluded all transitive deps on apache-el,
but nothing helps. Is there any configuration on how to force Tomcat to

use

classes from the application jar in advance of the system tomcat jar?


No.

The Jakarta EE platform specification requires that the container
(Tomcat) prevents applications loading alternative API JARs.

Why do you want to use an alternative API JAR?

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org






-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Application specific el-api

2022-04-28 Thread vladimir dvorak
  Hi,

my intention is to use custom el-api with modified BeanELResolver, that
uses instead slow reflection API much faster
https://github.com/EsotericSoftware/reflectasm

kind regards Vladimir

čt 28. 4. 2022 v 17:46 odesílatel Mark Thomas  napsal:

> On 28/04/2022 16:30, vladimir dvorak wrote:
> >Hi,
> >
> > I'm trying to use jakarta-el, which is an alternative to el-api.jar from
> > Tomcat. Jakarta-el is deployed with application, implementation part of
> lib
> > works correctly since it uses separate package,
> > but I can't force the Tomcat classloader mechanism to not use the classes
> > from api part TOMCAT_DIR/lib/el-api.jar but rather jakarta-el-api.jar.
> I've
> > excluded all transitive deps on apache-el,
> > but nothing helps. Is there any configuration on how to force Tomcat to
> use
> > classes from the application jar in advance of the system tomcat jar?
>
> No.
>
> The Jakarta EE platform specification requires that the container
> (Tomcat) prevents applications loading alternative API JARs.
>
> Why do you want to use an alternative API JAR?
>
> Mark
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>


Re: Application specific el-api

2022-04-28 Thread Mark Thomas

On 28/04/2022 16:30, vladimir dvorak wrote:

   Hi,

I'm trying to use jakarta-el, which is an alternative to el-api.jar from
Tomcat. Jakarta-el is deployed with application, implementation part of lib
works correctly since it uses separate package,
but I can't force the Tomcat classloader mechanism to not use the classes
from api part TOMCAT_DIR/lib/el-api.jar but rather jakarta-el-api.jar. I've
excluded all transitive deps on apache-el,
but nothing helps. Is there any configuration on how to force Tomcat to use
classes from the application jar in advance of the system tomcat jar?


No.

The Jakarta EE platform specification requires that the container 
(Tomcat) prevents applications loading alternative API JARs.


Why do you want to use an alternative API JAR?

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Application specific el-api

2022-04-28 Thread vladimir dvorak
  Hi,

I'm trying to use jakarta-el, which is an alternative to el-api.jar from
Tomcat. Jakarta-el is deployed with application, implementation part of lib
works correctly since it uses separate package,
but I can't force the Tomcat classloader mechanism to not use the classes
from api part TOMCAT_DIR/lib/el-api.jar but rather jakarta-el-api.jar. I've
excluded all transitive deps on apache-el,
but nothing helps. Is there any configuration on how to force Tomcat to use
classes from the application jar in advance of the system tomcat jar?

Regards Vladimir