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

Java 如何在akka actor中设置构造字段或配置加载?,java,scala,spring-boot,akka,Java,Scala,Spring Boot,Akka,我有一个场景,需要从每个公司的Soap服务API调用中获取数据。 对于每个行业,我都有数千家公司 要调用API,我需要设置/传递除companyid之外的几个参数。这些参数如用户名、密码、url、端口等。。。更多配置或属性文件 这些不会因每次通话而改变,即每个演员 我正在尝试使用Akka Actor系统实现同样的功能,用于公司检索,即调用Soap服务API 我是Akka的新手,有什么帮助吗 谢谢和问候 尝试: CompanyActor-期望一个companyId创建一个CompanyInput,

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

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

这些不会因每次通话而改变,即每个演员

我正在尝试使用Akka Actor系统实现同样的功能,用于公司检索,即调用Soap服务API

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

谢谢和问候

尝试:

CompanyActor-期望一个companyId创建一个CompanyInput,如下所示

CompanyInput{
 String companyId,
 DataAPIConnection conn;
}
我正在准备CompanyInput,通过将所有有效的用户名和pwd、url传递给Soap服务API调用,我将在其中获得连接对象conn。 我也设立了公司

然后创建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


如何从参与者调用返回对象?onReceive返回void所以我返回未来?

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

您可以使用ask模式简化发送需要回复的消息。调用ask返回Java中的CompletionStage或Scala中的Future,在接收参与者回复其发送者时完成:


到目前为止你都尝试了什么?你是想用Java还是Scala来做这件事?@RamanMishra Raman请检查一下试过的那个。@Iprakashv,是的,我的公司希望它是Java,更准确地说是spring book和Java 8.use?要求它返回一个未来的[对象]这就是你从参与者那里得到返回值的方式!你能提供你正在做的代码吗!还是问?给您的参与者?谢谢Tim,但是如果在第二个/被调用的参与者中返回对象时发生任何异常…如何处理这些场景?我们可以在参与者中使用构造函数吗?对于每个actor实例,我不需要正确设置配置。。。如何以及在何处设置与配置相关的参数?@Shyam错误处理包含在我链接到的文档中:要在异常情况下完成CompletionStage,您需要向发件人发送akka.actor.Status.Failure消息。当参与者在处理消息时引发异常时,这不是自动完成的。@Shyam创建参与者也包含在文档中