org.springframework.cloud
spring-cloud-function-adapter-aws
4.1.2
и создайте функцию типа
@Component
public class Ping implements Supplier {
@Override
public String get() {
return "pong";
}
}
Я запускаю приложение с весенней загрузкой:
Приложение запустилось через 0,033 секунды (процесс выполняется 0,042)
p>
который я настраиваю с помощью:
DEFAULT_HANDLER=ping
на AWS все работает нормально.
Но как мне вызвать функцию локально.
Я попробовал сделать завиток http: //localhost:8080/ping, но я получаю 404:

и следующее исключение:
2024-07-23T10:21:15.226+02:00 DEBUG 8863 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header
java.io.EOFException: null
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[na:na]
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[na:na]
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[na:na]
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[na:na]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[na:na]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[app:10.1.25]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:904) ~[na:na]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[na:na]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[app:10.1.25]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[na:na]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[na:na]
at java.base@22.0.1/java.lang.Thread.runWith(Thread.java:1583) ~[app:na]
at java.base@22.0.1/java.lang.Thread.run(Thread.java:1570) ~[app:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:853) ~[app:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:829) ~[app:na]
2024-07-23T10:21:15.227+02:00 DEBUG 8863 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request
java.io.EOFException: null
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[na:na]
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[na:na]
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[na:na]
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[na:na]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[na:na]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[app:10.1.25]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:904) ~[na:na]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[na:na]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[app:10.1.25]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[na:na]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[na:na]
at java.base@22.0.1/java.lang.Thread.runWith(Thread.java:1583) ~[app:na]
at java.base@22.0.1/java.lang.Thread.run(Thread.java:1570) ~[app:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:853) ~[app:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:829) ~[app:na]
2024-07-23T10:21:15.227+02:00 DEBUG 8863 --- [nio-8080-exec-4] o.a.c.a.jaspic.AuthConfigFactoryImpl : Loading persistent provider registrations from [/private/var/folders/xp/mg86_00j447096h3zlzcdfq40000gn/T/tomcat.8080.12513482910460626971/conf/jaspic-providers.xml]
РЕДАКТИРОВАТЬ:
2024-07-23T11:22:24.479+02:00 DEBUG 12318 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET /ping HTTP/1.1
User-Agent: PostmanRuntime/7.40.0
Accept: */*
Cache-Control: no-cache
Postman-Token: d2c186bb-abf0-420e-b89f-da400fa33464
Host: localhost:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
]
2024-07-23T11:22:24.479+02:00 DEBUG 12318 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header
java.io.EOFException: null
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:904) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at java.base/java.lang.Thread.run(Thread.java:1570) ~[na:na]
2024-07-23T11:22:24.479+02:00 DEBUG 12318 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request
java.io.EOFException: null
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:904) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.25.jar:10.1.25]
at java.base/java.lang.Thread.run(Thread.java:1570) ~[na:na]
2024-07-23T11:22:24.496+02:00 DEBUG 12318 --- [nio-8080-exec-1] o.a.c.a.jaspic.AuthConfigFactoryImpl : Loading persistent provider registrations from [/private/var/folders/xp/mg86_00j447096h3zlzcdfq40000gn/T/tomcat.8080.13059595284570596185/conf/jaspic-providers.xml]
2024-07-23T11:22:24.498+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2024-07-23T11:22:24.503+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 START TIME =23-Jul-2024 11:22:24
2024-07-23T11:22:24.503+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 requestURI=/ping
2024-07-23T11:22:24.503+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 authType=null
2024-07-23T11:22:24.503+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 characterEncoding=UTF-8
2024-07-23T11:22:24.503+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 contentLength=-1
2024-07-23T11:22:24.503+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 contentType=null
2024-07-23T11:22:24.503+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 contextPath=
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=user-agent=PostmanRuntime/7.40.0
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=accept=*/*
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=cache-control=no-cache
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=postman-token=d2c186bb-abf0-420e-b89f-da400fa33464
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=host=localhost:8080
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=accept-encoding=gzip, deflate, br
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=connection=keep-alive
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 locale=en_DE
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 method=GET
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 pathInfo=null
2024-07-23T11:22:24.504+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 protocol=HTTP/1.1
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 queryString=null
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 remoteAddr=0:0:0:0:0:0:0:1
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 remoteHost=0:0:0:0:0:0:0:1
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 remoteUser=null
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 requestedSessionId=null
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 scheme=http
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 serverName=localhost
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 serverPort=8080
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 servletPath=/ping
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 isSecure=false
2024-07-23T11:22:24.505+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 ------------------=--------------------------------------------
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 ------------------=--------------------------------------------
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 authType=null
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 contentType=null
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Origin
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Access-Control-Request-Method
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Access-Control-Request-Headers
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Origin
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Access-Control-Request-Method
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Access-Control-Request-Headers
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Origin
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Access-Control-Request-Method
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 header=Vary=Access-Control-Request-Headers
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 remoteUser=null
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 status=404
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 END TIME =23-Jul-2024 11:22:24
2024-07-23T11:22:24.517+02:00 INFO 12318 --- [nio-8080-exec-1] o.a.c.filters.RequestDumperFilter : http-nio-8080-exec-1 ===============================================================
2024-07-23T11:22:24.550+02:00 DEBUG 12318 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [230]
2024-07-23T11:22:24.550+02:00 DEBUG 12318 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received []
Подробнее здесь: https://stackoverflow.com/questions/787 ... ws-locally