[
https://issues.apache.org/jira/browse/WICKET-7126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18058933#comment-18058933
]
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. Lets say NonContextual made one call to
BeanManagerLookup during a request response; the number of times a JNDI lookup
got made would be 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)