Клиент Java, кодирующий лучшые практики

Статические интерфейсные инструкции прокси

Когда вы запишете интерфейсы Java®, чтобы вызвать код MATLAB®, помните эти факторы:

  • Имя метода, представленное интерфейсом, должно совпадать с именем развертываемой функции MATLAB.

  • Метод должен иметь то же количество вводов и выводов как функция MATLAB.

  • Типы ввода и вывода метода должны быть конвертируемыми к и из MATLAB.

  • Если вы работаете со структурами MATLAB, помните, что имена полей являются чувствительными к регистру и должны соответствовать и в функции MATLAB и в соответствующем пользовательском типе Java.

  • Имя интерфейса может быть любым допустимым именем Java.

Клиентские предпосылки Java

Завершите следующие шаги, чтобы подготовить вашу среду разработки MATLAB Production Server™ Java.

  1. Установите IDE Java по вашему выбору. Следуйте инструкциям на веб-сайте Oracle о загрузке Java в случае необходимости.

  2. Добавьте mps_client.jar (расположенный в $MPS_INSTALL\client\java) на ваш Java Путь к Сборке и CLASSPATH. Этот файл JAR иногда задается в отдельных графический интерфейсах пользователя, в зависимости от вашего IDE.

    Сгенерируйте один развертываемый архив в папку auto_deploy своего сервера для каждого приложения MATLAB, которое вы планируете развернуть. Для получения информации о создании развертываемого архива с приложением Production Server Compiler смотрите, Создают Развертываемый Архив для MATLAB Production Server.

    Файл main_config вашего сервера должен указать туда, где ваш экземпляр MATLAB Runtime установлен.

  3. Сервер, размещающий ваш развертываемый архив, должен запускаться.

Управляйте клиентским жизненным циклом

Один клиент Java соединяется с одним или несколькими серверами, доступными в различных URL. Даже при том, что вы создаете несколько экземпляров MWHttpClient, один экземпляр способен к установлению связей с несколькими серверами.

Объекты прокси связываются с сервером, пока метод close того экземпляра не вызывается.

Для локально ограниченного по объему экземпляра MWHttpClient клиентский код Java похож на следующее:

 Локально ограниченный по объему экземпляр

При использовании локально ограниченного по объему экземпляра MWHttpClient свяжите его с сервлетом.

При использовании сервлета инициализируйте MWHttpClient в методе HttpServlet.init() и close это в методе HttpServlet.destroy(), как в следующем коде:

 Реализация сервлета

Обрабатывание клиентских исключений Java

Интерфейс Java должен объявить контролируемые исключительные ситуации для следующих ошибок:

Клиентские исключения Java

ИсключениеПричина исключенияДополнительная информация
com.mathworks.mps.client.MATLABExceptionОшибка MATLAB произошла, когда метод объекта прокси выполнялся.

Исключение обеспечивает следующее:

  • Трассировка стека MATLAB

  • Ошибочный ID

  • Сообщение об ошибке

java.io.IOException
  • Произошел связанный с сетью отказ.

  • Сервер возвращает ошибку HTTP или 4xx или 5xx.

Используйте java.io.IOException, чтобы обработать ошибку HTTP 4xx или 5xx конкретным способом.

Системные ресурсы управления

Один клиент Java соединяется с одним или несколькими серверами, доступными в различных URL. Экземпляры MWHttpClient могут связаться с несколькими серверами.

Все объекты прокси, созданные экземпляром MWHttpClient, связываются с сервером, пока метод close MWHttpClient не вызывается.

Вызовите close, только если вы больше не должны связываться с сервером, и вы готовы выпустить системные ресурсы. Закрытие клиента отключает связи со всеми созданными прокси.

Где найти Javadoc

Документ API для клиента Java установлен в $MPS_INSTALL/client.