【发布时间】:2019-11-06 02:53:43
【问题描述】:
我有一个场景,我需要从每个公司的 Soap 服务 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 ?
【问题讨论】:
-
到目前为止你尝试了什么?
-
你想用 Java 还是 Scala 来做这件事?
-
@RamanMishra Raman 请检查试过的。
-
@Iprakashv,是的,我的公司希望它是 Java,更准确地说是 spring-book 和 java 8。
-
使用? (问)它返回一个 Future[Object] 这就是你从演员那里获得返回值的方式!你能提供你正在做的代码吗?或问?给你的演员?
标签: java scala spring-boot akka