Java MCP Server SDK: жизненный цикл STDIO ServerJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java MCP Server SDK: жизненный цикл STDIO Server

Сообщение Anonymous »

Я пытаюсь реализовать простой сервер MCP, как это: < /p>

Код: Выделить всё

McpServer.sync(new StdioServerTransportProvider())
.serverInfo("test", "1.0.0")
.requestTimeout(Duration.ofSeconds(120))
.capabilities(getServerCapabilities())
.tools(createTestToolSpecs())
.build();
Когда вы вызываете из Main метод, это работает просто хорошо, и я могу, например, использовать клиент MCP для перечисления и вызовов инструментов. Поскольку build () является неблокирующим вызовом, который приводит к немедленному возвращению Main , я думаю, этот фрагмент кода запускает один или несколько нитей, не являющихся данными, которые приводят к тому, что JVM продолжает работать до тех пор, пока эти потоки не завершится. Когда клиент MCP запрашивает завершение сервера, мой процесс MCP Server успешно завершается. Это приводит к немедленному прекращению MCP -сервера, которого я бы, очевидно, хотел бы избежать. } цикл после создания экземпляра сервера MCP, и это успешно позволяет клиентам MCP взаимодействовать с сервером MCP. Тем не менее, теперь сервер MCP больше не преодолевается должным образом, когда клиент MCP выходит или иным образом запрашивает завершение сервера. Я попытался добавить обработчик отключения, чтобы явно позвонить McPerver :: CloseGracely , но это не помогает; Процессы сервера MCP не прекращаются.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -lifecycle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»