Currently, the SpEL property accessors are added in the following sequence:
Map, <userPAs>, Reflective
This causes expressions such as payload.class.name to fail if the JsonPropertyAccessor is included because it is selected before the reflective accessor.
The workaround is to use payload.getClass().name but we need a general solution.
- Have the Json PA only work with nodes (not preferred).
- Provide the user some control over PA order
- Always put the Json PA after the Reflective PA - we may need to split it into two - one for String, one for Json node.