Wildfly 39 Double invocation issue

77 views
Skip to first unread message

Rachana Shewade

unread,
Apr 7, 2026, 10:45:14 AMApr 7
to WildFly

Hello WildFly Community,

I’m facing an issue after upgrading from WildFly 37 → WildFly 39. In my application:

  • I use PrimeFaces dialogs with <p:commandButton> and ajax="true".
  • Action methods in my controllers are called twice under certain conditions (e.g., when exceptions occur or during AJAX lifecycle processing).
  • The same code in WildFly 37 works correctly — methods are called only once.
  • I cannot use session-scoped guards because it blocks legitimate subsequent clicks and clears success messages.
  • Client-side button disable helps UX but does not prevent double invocation at the server.

I’ve noticed this happens specifically in WildFly 39 with JSF 4 / Mojarra 4, and seems related to the JSF lifecycle handling of AJAX requests.

My question:

  1. Is there a configuration or recommended approach in WildFly 39 to prevent this double invocation without using guards or session state?
  2. Are others seeing similar behavior after upgrading from WildFly 37?
  3. Are there any patches, workarounds, or recommended patterns for PrimeFaces AJAX buttons on WildFly 39 to ensure single execution?

I appreciate any guidance or suggestions.

Doug Whitfield

unread,
Apr 9, 2026, 3:59:05 PMApr 9
to WildFly
Haven't seen it myself. My suggestion would be to test it in Wildfly 38 and see if it is new to 39.

Jose Socola

unread,
Apr 9, 2026, 4:28:24 PMApr 9
to Doug Whitfield, WildFly
How do u tigger the action to controller,  p:command.. ajax="true" process="@this" ?


Regards,
JS

--
You received this message because you are subscribed to the Google Groups "WildFly" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wildfly+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/wildfly/cfd1e915-abd0-40a6-85ad-36e18aabb40fn%40googlegroups.com.

Rachana Shewade

unread,
Apr 10, 2026, 12:33:01 AMApr 10
to WildFly
Thanks for the suggestion. Yes tried it works fine on wildfly 38. 
The objective behind upgrading to 39 is to solve CVE-2025-12543.

Rachana Shewade

unread,
Apr 10, 2026, 12:38:05 AMApr 10
to WildFly
hi  Jose Socola,

yes 
i am calling action with this 

<p:commandButton id="Id_Dialog_UNDOACTION"

value="Test"

ajax="true"

process="@this"

update="@form"

onstart="PF('statusDialog').show();"

oncomplete="PF('statusDialog').hide();"

actionListener="#{handler.nullvalues(variables.getNo)}"

/>


Jose Socola

unread,
Apr 13, 2026, 1:03:09 PMApr 13
to Rachana Shewade, WildFly
i'm getting curious  about actionListener with parameters i usually used f:param because actionListener use ActionEvent and maybe confuse cycle invoke and navigation, 

<p:commandButton value="Test me!" actionListener="#{handler.nullvalues}">
    <f:param name="_id" value="#{variables.getNo}" />
</p:commandButton>
public void nullvalues(ActionEvent event) 
{
     FacesContext fc = FacesContext.getCurrentInstance(); 
     Map<String, String> params = fc.getExternalContext().getRequestParameterMap(); 
     String id = params.get("_id");
}

for you code is like use action instance of actionListener

 public void nullvalues(Integer id) {
        System.out.println("here ID: " + id);
   
<p:commandButton id="Id_Dialog_UNDOACTION"
                 value="Test me!"

                 ajax="true"
                 process="@this"
                 update="@form"
                 onstart="PF('statusDialog').show();"
                 oncomplete="PF('statusDialog').hide();"
                 action="#{handler.nullvalues(variables.getNo)}" />

Regards,
JS

Reply all
Reply to author
Forward
0 new messages