JAVAFX Service creates new threads
Francisco Javier Godino
jgodino at yahoo.com
Sat Sep 6 20:37:25 UTC 2014
Hi Kevin:
It was resolved with your help.
I included this lines:
ExecutorService executorService = Executors.newSingleThreadExecutor();
CapturadoraDeImagenService.getInstance().setExecutor(executorService);
Thanks a lot!
Francisco Javier
On Saturday, September 6, 2014 2:32 PM, Kevin Rushforth <kevin.rushforth at oracle.com> wrote:
This is documented in the API docs for the Service class:
The Service by default uses a thread pool Executor with
some unspecified default or maximum thread pool size. This is done so
that naive code will not completely swamp the system by creating
thousands of Threads.
>
You need to specify your own Executor if you want to change this
default behavior.
-- Kevin
Francisco Javier Godino wrote:
Hello: I have a issue with a Service.
I developed thisService.
It's an extension of Service: public class MostrarImagenesService extends Service{
... @Override protected Task createTask() { return new Task() { @Override protected Object call() throws Exception { ...... return null; }
} This is the way that I invoque the service: switch (MostrarImagenesService.getInstance().getState()) { case READY:
MostrarImagenesService.getInstance().start(); break; case SUCCEEDED: MostrarImagenesService.getInstance().restart(); break; default: log.info("GrabadoraDeImagenesService State: Grabadora en Funcionamiento"); } I see this in the log: [Thread-10] INFO servicios.MostrarImagenesService - MostrarImagenesService: call INICIO trama:00552 the second time that i invoque the service: [Thread-14] INFO servicios.MostrarImagenesService - MostrarImagenesService: call INICIO trama:00553 It is running over a new Thread (Thread 14). How I can avoid creating new thread?
This service will be constantly invoked.
Can this affect the VM? Thanks
More information about the openjfx-dev
mailing list