Если бы вы могли делать то, что пытались сделать, вы бы исчерпали ресурсы на вашем сервере, потому что каждый запрос занимал бы X секунд, и у вас было бы ограниченное количество потоков, доступных для того, чтобы ящик выкрикнул дядя.
Не комментируя , почему вы бы хотели это сделать; Если вы использовали аннотацию @Singleton
для вашей LoadSimulator
, вы могли бы создать поток, который прослушивает (параллельную) очередь в @PostConstruct public void init()
- которая вызывается при запуске вашего сервлета.
@Singleton
@Path("/chat")
public class LoadSimulator {
private Thread restCaller;
private ConcurrentLinkedQueue<MyInfo> queue = new ConcurrentLinkedQueue<MyInfo>();
...
@PostConstruct public void init()
{
restCaller = new Thread(new MyRunnable(queue));
restCaller.start();
}
...
Затем в своем вызове REST вы поместите любую информацию, необходимую для второго вызова REST в эту очередь, и получите вышеупомянутый поток, выполняющий его и выполняющий запросы.