Hi,
I'm experiencing the following problem :
Problem description:
As soon as I add an ArcGISLocalTiledLayer to display a map in my JMap, my application doesn't want to stop if I don't call myself "System.exit()".
Environment:
- JavaFx application, using a SwingNode to display the JMap.
- Windows XP 32bits
- Eclipse Luna
- ArcGIS Runtime for Java 10.2.3
- JDK 1.8u45
Before launching sample code:
- Add the ARCGISRUNTIMESDKJAVA_10_2_3 environment parameter
- Update the constant "URL_BASEMAP" (line 23) to a valid map path
Sample code: see attachment "SwingFxAppMinimalCode.java"
Personal analyse:
- When commenting the line 122, the JVM stops properly.
In this case, when running the application, threads are: (see attachment "debug - without map.png")
- Without commenting the line 122, we see the map displayed on the screen. In this case, when running the application, threads are: (see attachment "debug - with map.png").
We can see there are 3 new threads as soon as the layer is added to the JMap:
- "Thread-8",
- "pool-2-thread-1"
- "pool-2-thread-2"
When you close the JavaFx primary stage, the JVM won't stop. Remaining running threads are: (see attachment "debug - with map - after closing stage.png")
We can see 2 out of 3 of the new threads are still running:
- "pool-2-thread-1"
- "pool-2-thread-2"
Could it be a pool of worker-threads not disposed properly when disposing of the JMap - which would prevent the JVM to stop properly ?
Any help/analyse is welcome, thanks a lot.
Regards,
Pierre BEULE.
English translation by Pierre BEULE