Ошибка занятости сервера при параллельном запуске .jar из. net - PullRequest
0 голосов
/ 22 января 2020

Привет, умники Stackoverflow, мне нужна ваша помощь! В настоящее время я застрял в проблеме, которую не могу исправить:

Мой код - приложение vb. net, которое выполняет файл .jar, ждет, когда пользователь выполнит некоторые действия в этом направлении, а затем получит некоторое данные из .jar по именованным каналам. Так далеко, так красиво. Я написал код, и все работает, за исключением одного: когда пользователь занимает слишком много времени в. Приложение JAR, чтобы сделать его входные данные и программы, наконец, переключиться обратно на приложение. net, я получаю страшно «сервер занят, действие не может быть выполнено» - ошибка.

Я попытался запустить файл .jar как новый поток и с process.start, и оба, похоже, выдают одну и ту же ошибку.

Вот код для запуска .jar (он называется iCat):

        Try
        ICatProcess = New Process
        ICatProcess.StartInfo.FileName = VersionFileName
        Dim T As New Thread(New ThreadStart(Function()
                                                ICatProcess.Start()
                                            End Function))
        T.Start()


        Return ICatProcess
    Catch ex As Exception
        Return Nothing
    End Try

Можете ли вы помочь мне выбраться из этого Pickle?

РЕДАКТИРОВАТЬ: Я думаю, что мне нужно быть немного более точным: использование приведенного выше кода запускает процесс .jar, и оба работают параллельно. Приложение. net имеет инструкцию stream.read, который затем блокирует его и заставляет ждать сообщения в канале. Тем временем пользователь делает свои шаги в приложении .jar. Когда он закончил и нажал «сохранить», приложение отправило данные через сообщение в канале, таким образом повторно активировав приложение. net, но именно здесь произошла ошибка. Я сделал тестовые прогоны с двумя. net связывающимися процессами, и они никогда не демонстрировали такого поведения.

...