Skip to content

Commit ff34492

Browse files
Merge pull request #2 from aws/remove-init-method
remove init method
2 parents 64e28cd + c05f896 commit ff34492

File tree

2 files changed

+8
-56
lines changed

2 files changed

+8
-56
lines changed

aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/AWSLambda.java

+8-43
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,10 @@
3030
import java.io.OutputStream;
3131
import java.io.PrintStream;
3232
import java.lang.reflect.Constructor;
33-
import java.lang.reflect.Method;
3433
import java.net.URLClassLoader;
35-
import java.nio.file.Paths;
3634
import java.security.Security;
3735
import java.util.Properties;
3836

39-
import static com.amazonaws.services.lambda.runtime.api.client.UserFault.makeUserFault;
40-
4137
/**
4238
* The entrypoint of this class is {@link AWSLambda#startRuntime}. It performs two main tasks:
4339
*
@@ -51,9 +47,6 @@
5147
*/
5248
public class AWSLambda {
5349

54-
private static final Runnable doNothing = () -> {
55-
};
56-
5750
private static final String TRUST_STORE_PROPERTY = "javax.net.ssl.trustStore";
5851

5952
private static final String JAVA_SECURITY_PROPERTIES = "java.security.properties";
@@ -103,20 +96,17 @@ private static boolean isNegativeCacheOverridable() {
10396
}
10497
}
10598

106-
private static UserMethods findUserMethods(final String handlerString, ClassLoader customerClassLoader) {
99+
private static LambdaRequestHandler findRequestHandler(final String handlerString, ClassLoader customerClassLoader) {
107100
final HandlerInfo handlerInfo;
108101
try {
109102
handlerInfo = HandlerInfo.fromString(handlerString, customerClassLoader);
110103
} catch (HandlerInfo.InvalidHandlerException e) {
111104
UserFault userFault = UserFault.makeUserFault("Invalid handler: `" + handlerString + "'");
112-
return new UserMethods(
113-
doNothing,
114-
new UserFaultHandler(userFault)
115-
);
105+
return new UserFaultHandler(userFault);
116106
} catch (ClassNotFoundException e) {
117-
return new UserMethods(doNothing, LambdaRequestHandler.classNotFound(e, HandlerInfo.className(handlerString)));
107+
return LambdaRequestHandler.classNotFound(e, HandlerInfo.className(handlerString));
118108
} catch (NoClassDefFoundError e) {
119-
return new UserMethods(doNothing, LambdaRequestHandler.initErrorHandler(e, HandlerInfo.className(handlerString)));
109+
return LambdaRequestHandler.initErrorHandler(e, HandlerInfo.className(handlerString));
120110
} catch (Throwable t) {
121111
throw UserFault.makeInitErrorUserFault(t, HandlerInfo.className(handlerString));
122112
}
@@ -130,24 +120,7 @@ private static UserMethods findUserMethods(final String handlerString, ClassLoad
130120
throw userFault;
131121
}
132122
}
133-
134-
Runnable initHandler = doNothing;
135-
try {
136-
initHandler = wrapInitCall(handlerInfo.clazz.getMethod("init"));
137-
} catch (NoSuchMethodException | NoClassDefFoundError e) {
138-
}
139-
140-
return new UserMethods(initHandler, requestHandler);
141-
}
142-
143-
private static Runnable wrapInitCall(final Method method) {
144-
return () -> {
145-
try {
146-
method.invoke(null);
147-
} catch (Throwable t) {
148-
throw UserFault.makeUserFault(t);
149-
}
150-
};
123+
return requestHandler;
151124
}
152125

153126
public static void setupRuntimeLogger(LambdaLogger lambdaLogger)
@@ -238,9 +211,9 @@ private static void startRuntime(String handler, LambdaLogger lambdaLogger) thro
238211
Thread.currentThread().setContextClassLoader(customerClassLoader);
239212

240213
// Load the user's handler
241-
UserMethods methods;
214+
LambdaRequestHandler requestHandler;
242215
try {
243-
methods = findUserMethods(handler, customerClassLoader);
216+
requestHandler = findRequestHandler(handler, customerClassLoader);
244217
} catch (UserFault userFault) {
245218
lambdaLogger.log(userFault.reportableError());
246219
ByteArrayOutputStream payload = new ByteArrayOutputStream(1024);
@@ -251,14 +224,6 @@ private static void startRuntime(String handler, LambdaLogger lambdaLogger) thro
251224
return;
252225
}
253226

254-
// Call the user's init handler(a function called 'init'), if provided in the same module as the request handler.
255-
// This is an undocumented feature, and still exists to keep backward compatibility. Continue if this call fails.
256-
try {
257-
methods.initHandler.run();
258-
} catch (UserFault f) {
259-
lambdaLogger.log(f.reportableError());
260-
}
261-
262227
try (EnvWriter envWriter = new EnvWriter(envReader)) {
263228
boolean shouldExit = false;
264229
while (!shouldExit) {
@@ -272,7 +237,7 @@ private static void startRuntime(String handler, LambdaLogger lambdaLogger) thro
272237

273238
ByteArrayOutputStream payload;
274239
try {
275-
payload = methods.requestHandler.call(request);
240+
payload = requestHandler.call(request);
276241
// TODO calling payload.toByteArray() creates a new copy of the underlying buffer
277242
runtimeClient.postInvocationResponse(request.getId(), payload.toByteArray());
278243
} catch (UserFault f) {

aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/UserMethods.java

-13
This file was deleted.

0 commit comments

Comments
 (0)