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]

Reply via email to