codeconsole commented on PR #15964:
URL: https://github.com/apache/grails-core/pull/15964#issuecomment-4939564286
Design refinement after field testing: the definition post-processor now
extends upstream's `SiteMeshViewResolverPostProcessor` (the class behind
`sitemesh.viewResolver.wrapMode=bean-definition`) and registers under
upstream's bean name, so every upstream wrap mode is now preempted through
upstream's own `@ConditionalOnMissingBean` contract — `bean-definition` by the
definition post-processor, `all`/`bean-instance` by the bean post-processor
(now the explicit fallback tier). This also resolves a spurious startup warning
("SiteMesh did not wrap the target ViewResolver bean 'jspViewResolver'") that
the upstream base class logs when the instance-level tier wraps nothing, which
is the expected state when the definition-level wrap is active.
One deliberate divergence from upstream's `bean-definition` implementation,
documented in the class javadoc: upstream re-registers the unwrapped resolver
as a separate *named* bean that remains visible to
`getBeansOfType(ViewResolver)` sweeps — the same exposure this PR closes — so
the Grails implementation embeds the original definition as an anonymous
inner-bean definition instead. That may be worth an upstream sitemesh issue in
its own right.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]