Java tutorial
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Build instructions: * - Assumption: the dependency GSON is in the local dicrectory, e.g. "gson-2.8.2.jar" * - Compile with "javac -cp gson-2.8.2.jar Sleep.java" * - Create .jar archive with "jar cvf sleep.jar Sleep.class" */ /** * Java based OpenWhisk action that sleeps for the specified number * of milliseconds before returning. * The function actually sleeps slightly longer than requested. * * @param parm JSON object with Number property sleepTimeInMs * @returns JSON object with String property msg describing how long the function slept */ import com.google.gson.JsonObject; public class Sleep { public static JsonObject main(JsonObject parm) throws InterruptedException { int sleepTimeInMs = 1; if (parm.has("sleepTimeInMs")) { sleepTimeInMs = parm.getAsJsonPrimitive("sleepTimeInMs").getAsInt(); } System.out.println("Specified sleep time is " + sleepTimeInMs + " ms."); final String responseText = "Terminated successfully after around " + sleepTimeInMs + " ms."; final JsonObject response = new JsonObject(); response.addProperty("msg", responseText); Thread.sleep(sleepTimeInMs); System.out.println(responseText); return response; } }