You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Along to #25151, this issue intend to provide a spring.spel.ignore flag to disable SpEL support in a way that prevent it to be compiled intro GraalVM native images.
For the record this allows to reduce native image size by 1.4M, RSS memory consumption by 2M and build time by 5.5s with Java 8.
Usage of SpEL support with the flag enabled should trigger a proper exception with a message explaining how to re-enable it.
Remove EventExpressionEvaluator usage from org.springframework.context.event.EventListenerMethodProcessor and org.springframework.context.event.ApplicationListenerMethodAdapter
Remove beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver(beanFactory.getBeanClassLoader()); from org.springframework.context.support.AbstractApplicationContext
Such flag could also be used on Spring Boot side as well if needed.
The text was updated successfully, but these errors were encountered:
This commit introduces a spring.spel.ignore flag which
when set to true avoid initializing SpEL infrastructure.
A typical use case is optimizing GraalVM native image footprint.
Closesspring-projectsgh-25153
This commit introduces a spring.spel.ignore system property
which when set to true avoid initializing SpEL infrastructure.
A typical use case is optimizing GraalVM native image footprint
for applications not using SpEL. In order to be effective, those
classes should be initialized at build time:
- org.springframework.context.support.AbstractApplicationContext
- org.springframework.core.SpringProperties
- org.springframework.context.event.EventListenerMethodProcessor
Closesspring-projectsgh-25153
If we want to use things like Spring Security's @PreAuth annotation, is it still possible to omit this flag and use SpEL in an application compiled into a native image?
Along to #25151, this issue intend to provide a
spring.spel.ignore
flag to disable SpEL support in a way that prevent it to be compiled intro GraalVM native images.For the record this allows to reduce native image size by 1.4M, RSS memory consumption by 2M and build time by 5.5s with Java 8.
Usage of SpEL support with the flag enabled should trigger a proper exception with a message explaining how to re-enable it.
The work done on spring-graalvm-native substitutions has allows to identify a first set of classes where SpEL support should be removed:
EventExpressionEvaluator
usage fromorg.springframework.context.event.EventListenerMethodProcessor
andorg.springframework.context.event.ApplicationListenerMethodAdapter
beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver(beanFactory.getBeanClassLoader());
fromorg.springframework.context.support.AbstractApplicationContext
Such flag could also be used on Spring Boot side as well if needed.
The text was updated successfully, but these errors were encountered: