[
https://issues.apache.org/jira/browse/WICKET-7126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18058969#comment-18058969
]
ASF GitHub Bot commented on WICKET-7126:
----------------------------------------
pedrosans commented on code in PR #1369:
URL: https://github.com/apache/wicket/pull/1369#discussion_r2813478246
##########
wicket-cdi/src/main/java/org/apache/wicket/cdi/CdiConfiguration.java:
##########
@@ -110,6 +77,13 @@ public CdiConfiguration setFallbackBeanManager(BeanManager
fallbackBeanManager)
*/
public void configure(Application application)
{
+ if(beanManager == null)
+ beanManager = BeanManagerLookup.lookup();
+
+ if (beanManager == null)
+ throw new IllegalStateException(
+ "No BeanManager was set or found via the CDI
provider. Check your CDI setup or specify a BeanManager in the
CdiConfiguration.");
Review Comment:
> > Another benefit of this change is the reduced number of times the new
code will make expensive (time consuming) JNDI lookups.
> Is it really ?
> Before there was a BeanManagerLookup#lastSuccessful cache. Now it is gone
and every BeanManagerLookup#lookup() always makes two JNDI lookups.
There are no code inside the module calling BeanManagerLookup lookup more
than once (CdiConfiguration#configure is meant to be called once), contrary to
the previous implementation. NonContextual called BeanManagerLookup during the
request response, so the number of JNDI lookups was tied to the number of
requests.
> CdiConfiguration new API
> ------------------------
>
> Key: WICKET-7126
> URL: https://issues.apache.org/jira/browse/WICKET-7126
> Project: Wicket
> Issue Type: Improvement
> Components: wicket-cdi
> Reporter: Pedro Henrique Oliveira dos Santos
> Assignee: Pedro Santos
> Priority: Minor
>
> Context: originally BeanManagerLookup contained the entire logic to resolve
> the app BeanManager, with no option to set one manually, for instance. This
> was improved last year, but the code became a mix of states beingĀ kept in
> CdiConfiguration and BeanManagerLookup.
> Improvement:
> * move the entire logic + state to CdiConfiguration
> ** to remove the CdiConfiguration.set/getFallbackBeanManager and its related
> logic
> ** to remove the BeanManagerLookup lastSuccessful state
--
This message was sent by Atlassian Jira
(v8.20.10#820010)