第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java中如何將參數(shù)從一個(gè)lambda傳遞到另一個(gè)?

java中如何將參數(shù)從一個(gè)lambda傳遞到另一個(gè)?

蝴蝶不菲 2023-11-10 16:35:56
我想使用一些參數(shù)從另一個(gè) lambda 函數(shù) B 調(diào)用 Lambda 函數(shù) A。以下是調(diào)用 lambda 函數(shù)。@SpringBootApplicationpublic class Application  extends SpringBootServletInitializer implements CommandLineRunner {@Autowiredprivate ConfigurableApplicationContext context;public static void main(String[] args) {    SpringApplication.run(Application.class, args);}@Overridepublic void run(String... args) {    DCService dcService = LambdaInvokerFactory.builder().lambdaFunctionNameResolver(            (method, lambdaFunction, lambdaInvokerFactoryConfig) -> "EventPlanDCFunction-Dev")            .build(DCService.class);    log.info("Response from DC service :: {}",dcService.getClass());    String[] params = new String[]{"Subir has invoked"};    dcService.run(params);    SpringApplication.exit(context);}}以下是文件的代碼DCService.java。public interface DCService {@LambdaFunction(functionName = "DeliveryCycleLambdaHandler",invocationType = InvocationType.Event)void run(String... params);}以下是我要調(diào)用的 lambda 函數(shù)的代碼。@SpringBootApplicationpublic class Application  extends SpringBootServletInitializer implements CommandLineRunner {@Autowiredprivate ConfigurableApplicationContext context;@Autowiredprivate DeliveryCycleService deliveryCycleService;public static void main(String[] args) {    SpringApplication.run(Application.class, args);}@Overridepublic void run(String... args) {    deliveryCycleService.printMessage(args[0]);    SpringApplication.exit(context);}} 正如您所看到的,我嘗試通過從調(diào)用方法創(chuàng)建字符串?dāng)?shù)組來傳遞參數(shù),但我進(jìn)入了ArrayOutOFBoundException另一個(gè)方法,這意味著參數(shù)實(shí)際上并未到達(dá)調(diào)用的方法。如果我不傳遞參數(shù),它可以正常工作,但對(duì)于我的用例,我需要傳遞參數(shù)并異步調(diào)用該方法。
查看完整描述

1 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

  • 這是從 lambda 函數(shù)調(diào)用另一個(gè) lambda 的基本代碼。AWS SDK 文檔


try {



? ? ? ? ? ? InvokeRequest invokeRequest = new InvokeRequest();

? ? ? ? ? ? invokeRequest.setFunctionName(FunctionName);

? ? ? ? ? ? invokeRequest.setPayload(ipInput);



? ? ? ? ? ? returnDetails = byteBufferToString(

? ? ? ? ? ? ? ? ? ? lambdaClient.invoke(invokeRequest).getPayload(),

? ? ? ? ? ? ? ? ? ? Charset.forName("UTF-8"),logger);

? ? ? ? } catch (Exception e) {


? ? ? ? ? ? logger.log(e.getMessage());

? ? ? ? }

要異步調(diào)用另一個(gè) lambda 函數(shù),請?jiān)O(shè)置InvocationType為Event。AWS API 文檔


以下是調(diào)用類型RequestResponse、Event、DryRun。


RequestResponse(默認(rèn))- 同步調(diào)用該函數(shù)。保持連接打開,直到函數(shù)返回響應(yīng)或超時(shí)。API 響應(yīng)包括函數(shù)響應(yīng)和附加數(shù)據(jù)。


事件 - 異步調(diào)用該函數(shù)。將多次失敗的事件發(fā)送到函數(shù)的死信隊(duì)列(如果已配置)。API 響應(yīng)僅包含狀態(tài)代碼。


DryRun - 驗(yàn)證參數(shù)值并驗(yàn)證用戶或角色是否有權(quán)調(diào)用該函數(shù)。


查看完整回答
反對(duì) 回復(fù) 2023-11-10
  • 1 回答
  • 0 關(guān)注
  • 131 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)