`NoSuchElementException` from `ServiceLoader` in Async Context
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 28/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- api, backend, networking
Línea de trabajo
Empieza rastreando DerivativesTradingUsdsFuturesWebSocketStreams cuando se crea dentro de CompletableFuture.supplyAsync(), y después inspecciona ServiceLoader y org.eclipse.jetty.websocket.api.ExtensionConfig.getParser en el contexto de Play/Pekko indicado. Reproduce el fallo en un worker de ForkJoinPool y confirma en qué se diferencia el classloader de contexto; el informe no define la corrección esperada ni una prueba de finalización.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This report details a critical runtime exception encountered for derivatives trading (USDS Futures) within a Play Framework 3 / Pekko environment.
When initializing the WebSocket client within a CompletableFuture (e.g., on Play's default ForkJoinPool), the ServiceLoader mechanism fails to find Jetty WebSocket extension implementations.
- Error:
java.util.NoSuchElementExceptionoriginating fromjava.util.ServiceLoaderand traced up throughorg.eclipse.jetty.websocket.api.ExtensionConfig.getParser. - Cause: The
ServiceLoaderrelies on theThread.currentThread().getContextClassLoader(). When the initialization code runs on a worker thread from a thread pool (likeForkJoinPool), this context classloader may not have visibility of the full application dependency classpath where the Jetty service implementations reside. - Trigger: Instantiating
new DerivativesTradingUsdsFuturesWebSocketStreams(wsConnectionPool)inside aCompletableFuture.supplyAsync()block.
- Lenguaje dominante
- Java
- Estrellas
- 580
- Forks
- 258
- Merge medio
- 25 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de binance/binance-connector-java
-
Jetty versionAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
java 8 have version issue?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
binance/binance-connector-java#239 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de binance/binance-connector-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
github/copilot-sdk#2793 ·
Los mantenedores suelen responder en 1 día
-
Unify jpa4 into orm8Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
enhancement good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100