我使用Playfrawork with Java创建了一个应用程序。
我正在使用SecureSocial插件。 在我的控制器中有一个方法,其中一个过程是在SecureSocial内执行句柄启动重置密码。 但该方法是用Scala编写的。
如果我在我的Java源代码中引用这个方法:
Registration.handleStartResetPassword();
什么都没发生!如果我更改为以下行,则相同:
Registration.handleStartResetPassword().apply();
与以下源代码块相同:
play.api.libs.iteratee.Iteratee<byte[], SimpleResult> it = Registration.handleStartResetPassword().apply(ctx()._requestHeader());
Future<SimpleResult> future = it.run();
Option<Try<SimpleResult>> result = future.value();
SimpleResult res = result.get().get();
我删除了所有代码并尝试执行安全社交代码,但没有任何反应。 这是我的方法:
public static Result resetPassword() {
Registration.handleStartResetPassword().apply();
return TODO;
}
我的路线就是这个:
POST /reset controllers.ProfileController.resetPassword
编辑:添加了另一种我试图运行的方式,但只是没有让方法运行。
答案 0 :(得分:0)
当您致电handleStartResetPassword()
时,您会收到Action
的实例,在您通过调用Action.apply(request)
来提供特定请求之前,它实际上并没有做任何事情。然后实际运行该控制器操作的逻辑并返回Future<Result>
。
不完全确定你是否可以向后桥接并从中获得游戏Java异步结果。