我有自己的 Play 作品! (1.2.4) 应用程序从 CSV 文件加载数据,这工作正常,但需要一段时间,我一直在尝试通过 Promise 机制将其分配给作业。问题是,似乎没有办法传递输入参数(CSV 文件和文件类型的字符串),因为 doJobWithResult 是对无参数方法的覆盖。
工作看起来像:-
public class ImportCSV extends Job<string> {
public String doJobWithResult()
{
do stuff...
return my_string;
并且被称为:-
Promise<String> recordcount = new ImportCSV().now();
String records = await(recordcount);
我尝试在 Job 类中创建一个采用这些参数的构造函数,但是当通过 now() 方法调用时它不会触发。
关于如何传递实际异步执行作业所需的数据有什么建议吗?
最佳答案
你应该:
- 在您的 ImportCSV 类中创建
私有(private)字段
以保存作业所需的参数 - 在您的 Job 类构造函数中初始化这些字段 (
this.param1 = param1
) - 调用
new ImportCSV(param1, param2)
来初始化你的对象 - 使用
this.param1
访问 doJobWithResult() 方法中的私有(private)字段
Promise 的创建很好,您将以:
Promise<String> recordcount = new ImportCSV(param1, param2).now();
String records = await(recordcount);
如果您对 Job 类的构造函数有疑问,请更新您的问题并添加一些代码。
关于java - 如何将参数传递给 Play!框架 1.2.x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11647221/