Introduce a unified Virtual Threads friendly API
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- java
- Domínio
- api, backend-api-design
Direção de pesquisa
Comece revisando as APIs Sync e Async existentes e a hierarquia atual de módulos; em seguida, compare suas dependências de Reactor e Reactive Streams com a direção proposta para Java 21+/25+. A issue não fornece arquivos nem testes para executar; progresso significa produzir e discutir um protótipo que atenda aos requisitos listados de Virtual Threads, streaming, extensibilidade e dependências, e alcance o consenso da comunidade.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The MCP Java SDK team and myself would like to acknowledge the strong desire to evolve the MCP Java SDK to leverage Virtual Threads as a key building block.
This issue is about introducing a new unified Virtual Threads friendly API with the following characteristics:
- Natively designed for Virtual Threads both in terms of idiomatic API and implementation
- Designed with Structured Concurrency in mind but SC will not be required
- Introduce a new way to expose streaming based features
- Extensible design that should allow changing the implementation
- No dependency on Reactor or Reactive Streams
- No
SyncorAsyncprefix - Technically could run on Java 21+ but Java 25+ (latest LTS version without the thread pinning issue) will be the recommended baseline
The Sync and Async API and implementation would remain close to what they are today for now, to not break existing use cases and remain fully compatible with Java 17+, while the new unified API would potentially mean a changed module hierarchy where Project Reactor is not a required dependency.
A prototype of this unified Virtual Threads friendly API, using the Sync API as the starting point but achieving the characteristics shared above, will be shared in this issue or via a related PR and discussed with the community to gather feedback and hopefully reach a consensus.
- Linguagem predominante
- Java
- Estrelas
- 3.7k
- Forks
- 1.1k
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 9
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de modelcontextprotocol/java-sdk
-
area/transport bug P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
modelcontextprotocol/java-sdk#1136 ·
-
area/client bug P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
modelcontextprotocol/java-sdk#1124 · 1 comentário ·
-
ServerCapabilities.logging is added unconditionally, overriding the caller's explicit capabilities Abertabug P2 ready for work
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
modelcontextprotocol/java-sdk#1086 · 1 comentário ·
-
enhancement good first issue P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
modelcontextprotocol/java-sdk#1067 ·
-
bug P2 ready for work
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
modelcontextprotocol/java-sdk#898 · 1 comentário ·
Todas as issues de modelcontextprotocol/java-sdk
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
elastic/gradle-plugins#157 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
cryptomator/hub#497 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
johanhaleby/occurrent#1120 ·