生命周期
考虑这样一个问题
在使用函数计算的时候,可以将其看做一个“函数”,给定了入参和返回类型,而方法体的实现就是最终上传的jar包的文件。那么不由得思考到了一个问题,这个“函数”在执行一次后会不会立即结束生命周期,或者说,每一次调用函数计算的接口会新建一个实例并在调用结束后清理这个实例,还是多次调用会使用同一个函数计算的实例,又或者有其他的策略呢?在这里我们不妨通过编写代码进行简单的测试。
代码测试
代码的实现十分简单,只需要定义一个satic的变量,每次调用时进行累加,比对多次调用输出的结果即可得到答案。因为逻辑简单,因此创建入口类的时候选择实现StreamRequestHandler。代码如下:
public class Lifecycle implements StreamRequestHandler {
private static int count = 1;
@Override
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
String output = "the value of count is:" + count++;
outputStream.write(output.getBytes());
}
}
代码编写完后,mvn打包上传到函数计算上运行。
运行结果
第一次执行后结果如图: