Staf Java 接口

Staf Java 接口 编程


Step1:

   创建STAFHandle

STAFHandle handle = new STAFHandle("MyApplication");

 

 

Step 2:

 

组建命令然后提交

 

 

 

 String machine = this.ip;      
 STAFResult result = handle.submit2(machine, service, request);
 String service = "PROCESS";
 String request = "START SHELL COMMAND " +
	                    STAFUtil.wrapData(command) +
	                    " WAIT RETURNSTDOUT STDERRTOSTDOUT
STAFResult result = handle.submit2(machine, service, request);

 

Step 3

分析结果:

 

 

                        Map resultMap = (Map)result.resultObj;
	                String processRC = (String)resultMap.get("rc");

	                if (!processRC.equals("0"))
	                {
	                  
	                    logger.error( "ERROR: Process RC is not 0.\n" + result.resultContext);
	                    return stdoutData;
	                }

	                // Print the stdout/stderr data for the command

	                List returnedFileList = (List)resultMap.get("fileList");
	                Map stdoutMap = (Map)returnedFileList.get(0);
	                stdoutData = (String)stdoutMap.get("data");
	                logger.info( "the get data:" + stdoutData);
 

一个完整的例子

import com.ibm.staf.*;
import java.io.*;
 
public class STAFTest
{
    public static void main(String argv[])
    {
        try
        {
            // Create a STAFHandle

            STAFHandle handle = new STAFHandle("MyApplication");
            System.out.println("My handle is: " + handle.getHandle());

            try
            {
                // Submit a synchronous request to the ECHO service on
                // the local machine

                STAFResult result = handle.submit2(
                    "local", "ECHO", "ECHO Hello");

                if (result.rc != 0)
                {
                    System.out.println(
                        "ERROR: STAF local ECHO ECHO Hello failed. RC: " +
                        result.rc + ", Result: " + result.result);
                }
                else
                {
                    System.out.println("ECHO Result: " + result.result);
                }

                // Or submit an asynchronous request to the ECHO service on
                // the local machine

                result = handle.submit2(
                    STAFHandle.ReqRetain, "local", "ECHO", "ECHO Hello");

                if (result.rc != 0)
                {
                    System.out.println(
                        "ERROR: STAF local ECHO ECHO Hello failed. RC: " +
                        result.rc + ", Result: " + result.result);
                }
                else
                {
                    System.out.println(
                        "Asynchronous ECHO Request number: " + result.result);
                }
            }
            finally
            {
                handle.unRegister();
            }
        }
        catch (STAFException e)
        {
            System.out.println(
                "Error (un)registering with STAF, RC:" + e.rc);
            System.exit(1);
        }
 
    }   // End of main()
 
}  // End of STAFTest
 

更多的refer to

http://staf.sourceforge.net/current/STAFJava.htm

你可能感兴趣的:(java,编程,.net,IBM)