Мой код в игровой платформе
public class MyController extends Controller {
@Inject
private final MyService myService;
public Result myRequest(Http.Request request) throws InterruptedException {
logger.info("Controler id {}", System.identityHashCode(this));
myService.assignTemp();
return ok();
}
}
public class MyService {
String temp = "temp";
public void assignTemp() throws InterruptedException {
temp = UUID.randomUUID().toString();
logger.info("I generate {}", temp);
Thread.sleep(2000);
logger.info("I return {}", temp);
}
}
, когда я вызываю 4 запроса одновременно. это мой журнал
2020-08-07 09:44:43 +0700 [INFO] application-akka.actor.default-dispatcher-15 - Controler id 1342212114
2020-08-07 09:44:43 +0700 [INFO] application-akka.actor.default-dispatcher-15 - I generate 45d596ca-40bc-4bbd-8d2d-494b49142133
2020-08-07 09:44:44 +0700 [INFO] application-akka.actor.default-dispatcher-17 - Controler id 1342212114
2020-08-07 09:44:44 +0700 [INFO] application-akka.actor.default-dispatcher-17 - I generate 8ec9ebf0-1571-4e03-b7b8-1f4dc2fcba67
2020-08-07 09:44:45 +0700 [INFO] application-akka.actor.default-dispatcher-16 - Controler id 1342212114
2020-08-07 09:44:45 +0700 [INFO] application-akka.actor.default-dispatcher-16 - I generate fe47949e-f8f9-44d1-8a40-f808be3b9f5d
2020-08-07 09:44:45 +0700 [INFO] application-akka.actor.default-dispatcher-15 - I return fe47949e-f8f9-44d1-8a40-f808be3b9f5d
2020-08-07 09:44:45 +0700 [INFO] application-akka.actor.default-dispatcher-22 - Controler id 1342212114
2020-08-07 09:44:45 +0700 [INFO] application-akka.actor.default-dispatcher-22 - I generate e15cb14c-9122-43a0-b024-1615655812cb
2020-08-07 09:44:46 +0700 [INFO] application-akka.actor.default-dispatcher-17 - I return e15cb14c-9122-43a0-b024-1615655812cb
2020-08-07 09:44:47 +0700 [INFO] application-akka.actor.default-dispatcher-16 - I return e15cb14c-9122-43a0-b024-1615655812cb
2020-08-07 09:44:47 +0700 [INFO] application-akka.actor.default-dispatcher-22 - I return e15cb14c-9122-43a0-b024-1615655812cb
Играть, использовать тот же экземпляр MyController для четырех потоков. Это заставляет множество вводить компонент не потокобезопасным
Я ищу ответ , когда игровая среда создает новый экземпляр контроллера? . или Воспроизвести, использовать тот же экземпляр для любого запроса
Это Воспроизвести документ о контроллере
Спасибо