配置客户端-服务器连接
Java® 客户端 API 中的 MWHttpClientConfig 接口定义了 MWHttpClient 实例在建立客户端-服务器连接时使用的默认配置。要修改默认配置,请扩展 MWHttpClientDefaultConfig 类并重写其方法。
默认配置
默认配置由以下字段组成。MWHttpClientDefaultConfig 类从 MWHttpClientConfig 接口继承了这些字段。
| 字段名称 | 描述 | 默认值 |
|---|---|---|
DEFAULT_IS_COOKIE_ENABLED | 确定客户端是否设置 HTTP cookie。 | true |
DEFAULT_IS_INTERRUPTABLE | 确定客户端是否可以中断 MATLAB® 函数执行。 | false |
DEFAULT_RESPONSE_SIZE_LIMIT | 客户端接受的响应的最大大小(以字节为单位)。 | 64*1024*1024 (64 MB) |
DEFAULT_NUM_CONNECTIONS_PER_ADDRESS | 客户端为满足多个请求而打开的最大连接数。 | -1,指定客户端可以使用系统允许的任意数量的连接。 |
DEFAULT_TIMEOUT_MS | 客户端在超时之前等待服务器响应的时间(以毫秒为单位)。 | 120000 |
实现自定义连接配置
要实现自定义客户端-服务器连接配置,请扩展 MWHttpClientDefaultConfig 类并重写其方法,为您的自定义配置提供实现。MWHttpClientDefaultConfig 类有一个与每个配置字段相对应的 getter 方法,您可以覆盖它。
| 方法 | 描述 |
|---|---|
public boolean isCookieEnabled() | 如果客户端设置了 HTTP cookie,则返回 true;否则,返回 false。 |
public boolean isInterruptible() | 如果客户端可以在等待响应时中断已部署的 MATLAB 函数的执行,则返回 true;否则,返回 false。 |
public int getResponseSizeLimit() | 返回客户端在服务器响应中可以接受的最大字节数。 |
public int getTimeoutMs() | 返回客户端在产生错误之前等待响应的时间(以毫秒为单位)。 |
public in getMaxConnectionsPerAddress() | 返回客户端可以用来处理同时请求的最大连接数。 |
注意
如果 isInterruptible() 返回 false,那么 getMaxConnectionsPerAddress() 必须返回 -1。
要更改一个或多个客户端-服务器连接属性:
通过扩展
MWHttpClientDefaultConfig类实现自定义连接配置。使用接受
MWHttpClient实例的MWHttpClientDefaultConfig构造函数创建客户端-服务器连接。
您只需覆盖想要更改的属性的 getter。例如,要指定客户端在六秒后超时、可以接受 4 MB 的响应并且不保存 HTTP cookie,请覆盖 getTimeOutMs()、getResponseSizeLimit() 和 isCookieEnabled()。示例代码如下。
//Implement custom configuration
class MyClientConfig extends MWHttpClientDefaultConfig
{
public long getTimeOutMs()
{
return 6000;
}
public int getResponseSizeLimit()
{
return 4*1024*1024;
}
public boolean isCookieEnabled()
{
return false;
}
}
...
//Create client-server connection
MWClient client = new MWHttpClient(new MyClientConfig());
...要修改安全配置,请提供一个扩展 MWSSLDefaultConfig 实用程序类的对象作为 MWHttpClient 构造函数的参量。
... MWHttpClient(MWHttpClientConfig config, MWSSLConfig sslConfig) ...