Skip to content

SpEL Compiler: NPE on Indexer compilation, when is used map accessor [SPR-12045] #16661

@spring-projects-issues

Description

@spring-projects-issues

Artem Bilan opened SPR-12045 and commented

The expression looks like headers[command],
#root is the same org.springframework.messaging.Message
The StackTrace:

Caused by: java.lang.NullPointerException
	at org.springframework.expression.spel.ast.PropertyOrFieldReference.generateCode(PropertyOrFieldReference.java:337)
	at org.springframework.expression.spel.ast.Indexer.generateCode(Indexer.java:264)
	at org.springframework.expression.spel.ast.CompoundExpression.generateCode(CompoundExpression.java:133)
	at org.springframework.expression.spel.standard.SpelCompiler.createExpressionClass(SpelCompiler.java:154)
	at org.springframework.expression.spel.standard.SpelCompiler.compile(SpelCompiler.java:104)
	at org.springframework.expression.spel.standard.SpelExpression.compileExpression(SpelExpression.java:464)
	at org.springframework.expression.spel.standard.SpelExpression.checkCompile(SpelExpression.java:434)
	at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:328)

Changing expression to this headers['command'] fix the issue.

Thanks


Affects: 4.1 RC1

Referenced from: commits 813cc3b

Metadata

Metadata

Assignees

Labels

in: coreIssues in core modules (aop, beans, core, context, expression)type: bugA general bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions