public static void execute(PoolImpl pool,Function function,Object args,MemberMappedArgument memberMappedArg,boolean allServers,byte hasResult,boolean isFnSerializationReqd,String[] groups){
  List servers=null;
  AbstractOp op=new ExecuteFunctionNoAckOpImpl(function,args,memberMappedArg,hasResult,isFnSerializationReqd,groups,allServers);
  try {
    if (allServers && groups.length == 0) {
      if (logger.isDebugEnabled()) {
        logger.debug("ExecuteFunctionNoAckOp#execute : Sending Function Execution Message:" + op.getMessage() + " to all servers using pool: "+ pool);
      }
      servers=pool.getCurrentServers();
      Iterator i=servers.iterator();
      while (i.hasNext()) {
        pool.executeOn((ServerLocation)i.next(),op);
      }
    }
 else {
      if (logger.isDebugEnabled()) {
        logger.debug("ExecuteFunctionNoAckOp#execute : Sending Function Execution Message:" + op.getMessage() + " to server using pool: "+ pool+ " with groups:"+ Arrays.toString(groups)+ " all members:"+ allServers);
      }
      pool.execute(op,0);
    }
  }
 catch (  Exception ex) {
    if (logger.isDebugEnabled()) {
      logger.debug("ExecuteFunctionNoAckOp#execute : Exception occured while Sending Function Execution Message:" + op.getMessage() + " to server using pool: "+ pool,ex);
    }
    if (ex.getMessage() != null)     throw new FunctionException(ex.getMessage(),ex);
 else     throw new FunctionException("Unexpected exception during function execution:",ex);
  }
}

public static void execute ( PoolImpl pool , Function function , Object args , MemberMappedArgument memberMappedArg , boolean allServers , byte hasResult , boolean isFnSerializationReqd , String [ ] groups ) { List servers = null ; AbstractOp op = new ExecuteFunctionNoAckOpImpl ( function , args , memberMappedArg , hasResult , isFnSerializationReqd , groups , allServers ) ; try { if ( allServers && groups . length == 0 ) { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "ExecuteFunctionNoAckOp#execute : Sending Function Execution Message:" + op . getMessage ( ) + " to all servers using pool: " + pool ) ; } servers = pool . getCurrentServers ( ) ; Iterator i = servers . iterator ( ) ; while ( i . hasNext ( ) ) { pool . executeOn ( ( ServerLocation ) i . next ( ) , op ) ; } } else { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "ExecuteFunctionNoAckOp#execute : Sending Function Execution Message:" + op . getMessage ( ) + " to server using pool: " + pool + " with groups:" + Arrays . toString ( groups ) + " all members:" + allServers ) ; } pool . execute ( op , 0 ) ; } } catch ( Exception ex ) { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "ExecuteFunctionNoAckOp#execute : Exception occured while Sending Function Execution Message:" + op . getMessage ( ) + " to server using pool: " + pool , ex ) ; } if ( ex . getMessage ( ) != null ) throw new FunctionException ( ex . getMessage ( ) , ex ) ; else throw new FunctionException ( "Unexpected exception during function execution:" , ex ) ; } }
does a execute function on a server using connections from the given pool to communicate with the server .
