protected CompletableFuture < Void > invoke ( String actionName , Param ... params ) { Assert . requireNonBlank ( actionName , "actionName" ) ; actionInProcess . set ( true ) ; return controllerProxy . invoke ( actionName , params ) . whenComplete ( ( v , e ) -> { try { if ( e != null ) { onInvocationException ( e ) ; } } finally { actionInProcess . set ( false ) ; } } ) ; }
This invokes a action on the server side controller . For more information how an action can be defined in the controller have a look at the RemotingAction annotation in the server module . This method don t block and can be called from the Platform thread . To check if an server