Портирование кода Java с Tandem на JBoss в Linux, как бороться с однопоточным кодом?

В нашей организации есть куча кода (C, C++, Java), который работает на Tandem (без остановок) и служит бизнес-потребностям. Это критически важная среда, которая обрабатывает от 80 до 90 запросов в секунду.

Я совершенно новичок в среде Tandem, но, насколько я понимаю из тех, кто разработал код, их Java-код работает в однопоточном режиме. В основном они порождают несколько процессов пути, и каждый путь содержит несколько процессов JVM. Мышление разработчика, работающего в этой среде, можно считать "однопоточным".

Моей команде было дано задание перевести этот код для запуска под JBoss (который, как мы знаем, многопоточный), который уже запускает приложение, идея состоит в том, чтобы наконец объединить код Java из Tandem в наш существующий.

Важно знать, что по политическим причинам мы решили выполнить "подъем и сдвиг" в качестве первого шага, а затем рассмотрим это приложение с точки зрения объединения этого приложения для работы с существующим приложением JBoss в действительно многопоточном мода.

Мы думаем о запуске этого кода (который является независимым компонентом) как сессионного компонента без сохранения состояния вместе с нашим существующим приложением. Существующее приложение не использует EJB или Spring / hibernate и работает очень хорошо. Основываясь на том, как работает SSLB, мы предполагаем, что один объект SLSB будет доступен одному потоку в любой данный момент времени. Однако беспокойство вызывает статические переменные, которые по своей природе не являются потоко-безопасными Я понимаю, что наш подход не является на 100% правильным и нуждаюсь в совете относительно возможных путей решения этой проблемы.

Важный момент заключается в том, чтобы получить право собственности на код как можно скорее и заставить его работать каким-либо образом в производстве, а затем, позже, разобраться со сложностью реального кода и постепенно объединить его с существующим приложением.

Есть ли лучшие способы справиться с ситуацией с учетом ограничений? Любые входные данные помогут.

0 ответов

Другие вопросы по тегам