主要内容

MATLAB生产服务器Java客户基础

mps_client.jarJava®客户端库让你评估MATLAB®使用本机Java数据部署在远程服务器上的函数。

获得mps_client.jar客户端库

有几个选项可以获得mps_client.jar客户端库基于您的项目设置:

  • 在一个MATLAB生产服务器安装,mps_client.jar位于MPS_INSTALL美元/客户端/ java

  • 该库可在以下网址下载MATLAB生产服务器客户端库.选择要下载文件夹的发行版,然后解压缩。mps_client.jar位于/ java

  • 库也托管在Maven™存储库中https://mvnrepository.com/artifact/com.mathworks.prodserver/mps_java_client.要在Maven项目中使用jar,请将以下坐标包含在pom.xml文件:

    <!——https://mvnrepository.com/artifact/com.mathworks.prodserver/mps_java_client——>  com.mathworks。prodserver mps_java_client  . proserver  release_number< /版本> < / >的依赖

配置要使用的开发环境mps_client.jar通过将其添加到Java类路径。

选择客户-服务器通信的工作流

Java客户端API为客户端-服务器通信提供了两个工作流:

使用MWHttpClient

此工作流使用MWHttpClient类,并在计算部署在服务器上的MATLAB函数时隐藏请求创建和数据序列化的实现细节。此工作流提供以下两个选项来评估已部署的MATLAB函数。

根据您的需求,决定客户端是使用静态代理还是动态代理。

  • 静态代理使用一个对象,该对象实现了反映已部署MATLAB函数的接口。您为静态代理提供接口。这是一个类型安全的API,它强制在编译时将适当的数据类型传递给函数。

    看到静态代理接口指南

  • 动态代理根据提供给控件的MATLAB函数名创建服务器请求invoke ()方法。将函数名作为参数与函数参数一起传递给代理。您需要提供函数名、输出参数的数量以及计算函数所需的所有输入参数。这样做可以将类型检查推迟到运行时。

    看到动态调用MATLAB函数

编写Java代码将代理实例化到MATLAB制作服务器实例并调用MATLAB函数。

  1. 创建一个MWClient对象所承载的服务进行通信MATLAB制作服务器实例。

  2. 创建MATLAB数据结构来保存客户端和服务器之间传递的数据。

  3. 调用MATLAB函数。

  4. 释放系统资源关闭方法MWClient对象。

使用RESTful API和protobuf

此工作流使用MATLAB制作服务器MATLAB函数执行的RESTful API为MATLAB函数执行请求创建和协议缓冲区(protobuf)用于数据序列化。协议缓冲区是一种与语言和平台无关的序列化结构化数据的方法。

若要在向服务器发出请求时使用protobuf,请设置HTTP内容类型头来应用程序/ x-google-protobuf在客户机代码中。Java客户端库提供了helper类,用于在内部创建基于proto格式的protobuf消息,并返回相应的字节数组。在HTTP请求体中使用此字节数组。Java客户端库提供了反序列化protobuf响应的方法和类。

有关示例,请参见在Java客户端中使用协议缓冲区的异步RESTful请求而且在Java客户端中使用协议缓冲区的同步RESTful请求

日志记录

中的日志记录功能可以在Java客户机应用程序中记录诸如HTTP请求状态、服务器url和输出数据等详细信息MATLAB制作服务器Java客户端库。为了提供日志记录选项,Java客户端库mps_client.jar,将SLF4J API模块(版本1.7.25)打包为客户端库的一部分。您可以使用任何slf4j支持的日志框架,如L金宝appog4j、Logback或之后包中。如果没有绑定,SLF4J默认为无操作实现。使用绑定的详细信息,请参见桥接遗留apiSLF4J网站上的文档。

使用日志记录框架或不同版本的SLF4J时,必须将其添加到mps_client.jar在Java类路径上。

如果你使用之后包进行日志记录时,必须加载和使用java.util.logging.Logger类在Java应用程序代码中com.mathworks.mps.client.MWHttpClient类。欲了解更多有关之后,请参阅甲骨文®包之后Javadoc。

相关的话题

外部网站