gpt4 book ai didi

java - 如何在akka actor中设置构造字段或配置加载?

转载 作者:行者123 更新时间:2023-12-02 09:44:59 31 4
gpt4 key购买 nike

我有一个场景,我需要从每个公司的 Soap Service API 调用中获取数据。对于每个行业,我都有数千家公司。

要调用API,除了companyid之外,我还需要设置/传递一些参数。这些参数如用户名、密码、url、端口等...更多配置或属性文件..

这些不会因每次调用(即每个 Actor)而改变。

我正在尝试使用 Akka Actor 系统来实现相同的公司检索,即调用 Soap Service API 。

我是 Akka 新手,有什么帮助吗?

感谢和问候。

尝试过:

CompanyActor——它需要一个companyId,因此创建了一个CompanyInput,如下所示

CompanyInput{
String companyId,
DataAPIConnection conn;
}

我正在准备 CompanyInput,通过将所有有效的 userName 和 pwd 、 url 传递给 Soap Service API 调用来获取连接对象“conn”。我也设置了companyId。

然后创建 CompanyActor 。哪里

@Override
public void onReceive(Object msg) throws Throwable {
if(msg instanceof CompanyInput) {
CompanyInput input = (CompanyInput) msg;
logger.info("onRecive msg companyId : " + input.getCompanyId());
}

}

希望以上工作正常。如果需要任何更正,请提出建议。

但是我需要返回 CompanyInfo 对象,即从 SoapAPI 调用中读取字段并填充 CompanyInfo VO。

如何从 Actor 调用中返回对象? onReceive() 返回 void 所以我返回一个 Future ?

最佳答案

在 Akka 中,消息朝一个方向传播,并且接收函数不返回值。相反,您可以将回复消息发送回原始发件人:

https://doc.akka.io/docs/akka/current/actors.html#reply-to-messages

您可以使用“询问模式”来简化发送需要回复的消息。调用 ask 返回 Java 中的 CompletionStage(或 Scala 中的 Future),该阶段在接收 Actor 回复其发送者时完成:

https://doc.akka.io/docs/akka/current/actors.html#ask-send-and-receive-future

关于java - 如何在akka actor中设置构造字段或配置加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56734199/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com