标签:Apache-Ignite-1.4.0-中文开发手册

[TOC]

12.HTTP

12.1.REST API

Ignite提供了一个HTTP REST客户端,可以以REST的方式通过HTTP或者HTTPS协议与集群进行通信。REST API可以用于执行不同的操作,比如从/对缓存的读/写,执行任务,获取各种指标等等。

12.1.1.返回值

HTTP REST请求返回一个JSON对象,每一个命令都有一个类似的结构,这个对象有如下的结构: |名字|类型|描述|示例| |---|---|---|---| |affinityNodeId|string|关联节点ID|2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37| |error|string|如果服务器无法处理请求,出现的错误的描述|每个命令单独指定| |response|jsonObject|包含命令执行结果的字段|每个命令单独指定| |successStatus|Integer|返回状态码:
成功:0
失败:1
授权失败:2
安全检查失败:3|0|

12.1.2.log

log命令显示服务器的日志。 URL:

http://host:port/ignite?cmd=log&from=10&to=100&path=/var/log/ignite.log

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|log,小写|| |from|integer|是|开始的行号,如果传入了to参数,该参数为必须|0| |path|string|是|日志文件的路径,如果未提供,会使用如下值:work/log/ignite.log|log/cache_server.log| |to|integer|是|结束的行号,如果传入了from参数,该参数为必须|1000|

返回值示例

{
  "error": "",
  "response": ["[14:01:56,626][INFO ][test-runner][GridDiscoveryManager] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.8GB]"],
  "successStatus": 0
}
名称 类型 描述 示例
response string 日志 ["[14:01:56,626][INFO ][test-runner][GridDiscoveryManager] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.8GB]"]

12.1.3.version

version命令显示当前Ignite的版本。 URL:

http://host:port/ignite?cmd=version

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|version,小写||

返回值示例

{
  "error": "",
  "response": "1.0.0",
  "successStatus": 0
}
名称 类型 描述 示例
response string Ignite版本 1.0.0

12.1.4.decr

decr命令减去然后获得给定原子性Long类型的当前值。 URL:

http://host:port/ignite?cmd=decr&cacheName=partionedCache&key=decrKey&init=15&delta=10

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|decr,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|原子性Long类型的名称|counter| |init|long|是|初始值|15| |delta|long|否|减去的值|42|

返回值示例

{
  "affinityNodeId": "e05839d5-6648-43e7-a23b-78d7db9390d5",
  "error": "",
  "response": -42,
  "successStatus": 0
}
名称 类型 描述 示例
response long 操作之后的值 -42

12.1.5.incr

incr命令增加然后获得给定原子性Long类型的当前值。 URL:

http://host:port/ignite?cmd=incr&cacheName=partionedCache&key=incrKey&init=15&delta=10

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|incr,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|原子性Long类型的名称|counter| |init|long|是|初始值|15| |delta|long|否|增加的值|42|

返回值示例

{
  "affinityNodeId": "e05839d5-6648-43e7-a23b-78d7db9390d5",
  "error": "",
  "response": 42,
  "successStatus": 0
}
名称 类型 描述 示例
response long 操作之后的值 42

12.1.6.cache

cache命令可以获得Ignite缓存的指标。 URL:

http://host:port/ignite?cmd=cache&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|cache,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "",
  "error": "",
  "response": {
    "createTime": 1415179251551,
    "hits": 0,
    "misses": 0,
    "readTime": 1415179251551,
    "reads": 0,
    "writeTime": 1415179252198,
    "writes": 2
  },
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject JSON对象包含了缓存的指标,比如创建时间,读计数等 {

"createTime": 1415179251551, "hits": 0, "misses": 0, "readTime":1415179251551, "reads": 0,"writeTime": 1415179252198, "writes": 2 }|

12.1.7.cas

cas命令在之前的值等于预期值时会在缓存中存储给定的键值对。 URL:

http://host:port/ignite?cmd=cas&key=casKey&val2=casOldVal&val1=casNewVal&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|cas,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|与给定键对应的值|Jack| |val2|string|否|预期值|Bob| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 如果替换发生则为true,否则false true

12.1.8.prepend

prepend命令为给定的键关联的值增加一个前缀。 URL:

http://host:port/ignite?cmd=prepend&key=prependKey&val=prefix_&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|prepend,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|为当前值要增加的前缀|Name_| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 如果替换发生则为true,否则false true

12.1.9.append

append命令为给定的键关联的值增加一个后缀。 URL:

http://host:port/ignite?cmd=append&key=appendKey&val=_suffix&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|append,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|为当前值要增加的后缀|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 如果替换发生则为true,否则false true

12.1.10.rep

rep命令为给定的键存储一个新值。 URL:

http://host:port/ignite?cmd=rep&key=repKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rep,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|与给定键关联的新值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 如果替换发生则为true,否则false true

12.1.11.getrep

getrep命令为给定的键存储一个新值,然后返回原值。 URL:

http://host:port/ignite?cmd=getrep&key=repKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getrep,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|与给定键关联的新值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": oldValue,
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 给定键的原值 {"name": "Bob"}

12.1.12.repval

repval命令在之前的值等于预期值时会替换给定键的值。 URL:

http://host:port/ignite?cmd=repval&key=repKey&val=newValue&val2=oldVal&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|repval,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内的键值|name| |val|string|否|与给定键对应的值|Jack| |val2|string|否|预期值|oldValue| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 如果替换发生则为true,否则false true

12.1.13.rmvall

rmvall命令会从缓存中删除给定键的数据。 URL:

http://host:port/ignite?cmd=rmvall&k1=rmKey1&k2=rmKey2&k3=rmKey3&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|要从缓存中删除的键|name| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 如果删除发生则为true,否则false true

12.1.14.rmvval

rmvval命令当当前值等于预期值时在缓存中删除给定键对应的映射。 URL:

http://host:port/ignite?cmd=rmvval&key=rmvKey&val=rmvVal&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvval,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要删除的键值|name| |val|string|否|与给定键关联的期望值|oldValue| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean false,如果没有映射的键 true

12.1.15.rmv

rmv命令在缓存中删除给定键对应的映射。 URL:

http://host:port/ignite?cmd=rmv&key=rmvKey&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmv,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要删除的键值|name| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean true,如果删除发生,否则,false true

12.1.16.getrmv

getrmv命令在缓存中删除给定键的映射,然后返回原值。 URL:

http://host:port/ignite?cmd=getrmv&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getrep,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要删除的键值|name| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": value,
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 给定键的原值 {"name": "Bob"}

12.1.17.add

add命令当缓存中不存在该映射时存储该映射。 URL:

http://host:port/ignite?cmd=add&key=newKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|add,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean true,如果成功存储,否则,false true

12.1.18.putall

putall命令会在缓存中存储给定的键值对。 URL:

http://host:port/ignite?cmd=putall&k1=putKey1&k2=putKey2&k3=putKey3&v1=value1&v2=value2&v3=value3&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|putall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|要在缓存中保存的键|name| |v1...vN|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 如果成功保存则为true,否则false true

12.1.19.put

put命令在缓存中存储该映射。 URL:

http://host:port/ignite?cmd=put&key=newKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|put,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean true,如果成功存储,否则,false true

12.1.20.getall

getall命令会从缓存中获取给定键的数据。 URL:

http://host:port/ignite?cmd=getall&k1=getKey1&k2=getKey2&k3=getKey3&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|要从缓存中获取的值对应的键|key1, key2, ..., keyN| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "",
  "error": "",
  "response": {
    "key1": "value1",
    "key2": "value2"
  },
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 键值对映射 {"key1": "value1","key2": "value2"}

12.1.21.get

get命令在缓存中获取给定的键对应的值。 URL:

http://host:port/ignite?cmd=get&key=getKey&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|get,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|要返回的值对应的键|testKey| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
  "error": "",
  "response": "value",
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 给定键的值 {"name": "Bob"}

12.1.22.conkey

conkey命令在缓存中检测是否有给定键对应的条目。 URL:

http://host:port/ignite?cmd=conkey&key=getKey&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|conkey,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|在缓存中检测是否存在的键|testKey| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 存在给定键对应的映射则为true true

12.1.23.conkeys

conkeys命令在缓存中检测是否有给定键对应的条目。 URL:

http://host:port/ignite?cmd=conkeys&k1=getKey1&k2=getKey2&k3=getKey3&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|在缓存中检测是否存在的键|key1, key2, ..., keyN| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 存在给定键对应的映射则为true true

12.1.24.getput

getput命令在缓存中存储给定的键值对,如果之前存在该映射的话则返回原值。 URL:

http://host:port/ignite?cmd=getput&key=getKey&val=newVal&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getput,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
  "error": "",
  "response": "value",
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 给定键的原值 {"name": "bob"}

12.1.25.putifabs

putifabs命令只有在缓存中存在该映射的话才会存储给定的键值对。 URL:

http://host:port/ignite?cmd=putifabs&key=getKey&val=newVal&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|putifabs,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
  "error": "",
  "response": true,
  "successStatus": 0
}
名称 类型 描述 示例
response boolean 成功存储则为true true

12.1.26.getputifabs

getputifabs命令只有在缓存中不存在该映射时才会进行存储,否则会返回对应该键的原值。 URL:

http://host:port/ignite?cmd=getputifabs&key=getKey&val=newVal&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getputifabs,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
  "error": "",
  "response": "value",
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 给定键对应的原值 {"name": "bob"}

12.1.27.size

size命令返回指定缓存的总条目的数量。 URL:

http://host:port/ignite?cmd=size&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|size,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache|

返回值示例

{
  "affinityNodeId": "",
  "error": "",
  "response": 1,
  "successStatus": 0
}
名称 类型 描述 示例
response number 给定缓存的总条目数量 5

12.1.28.getorcreate

getorcreate命令如果不存在的话会创建给定名字的缓存。 URL:

http://host:port/ignite?cmd=getorcreate&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getorcreate,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache|

返回值示例

{
  "error": "",
  "response": null,
  "successStatus": 0
}

12.1.29.destcache

destcache命令删除给定名字的缓存。 URL:

http://host:port/ignite?cmd=destcache&cacheName=partionedCache

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|destcache,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache|

返回值示例

{
  "error": "",
  "response": null,
  "successStatus": 0
}

12.1.30.node

node命令获取一个节点的信息。 URL:

http://host:port/ignite?cmd=node&attr=true&mtr=true&id=c981d2a1-878b-4c67-96f6-70f93a4cd241

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|node,小写|| |mtr|boolean|是|如果为true,返回值会包含指标信息|true| |attr|boolean|是|如果为true,返回值会包含属性信息|true| |ip|string|是|如果传递了id参数该参数是可选的。返回值包含了指定IP对应的节点信息|192.168.0.1| |id|string|是|如果传递了ip参数该参数为可选的。返回值包含了指定节点id对应的节点信息|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "error": "",
  "response": {
    "attributes": null,
    "caches": {},
    "consistentId": "127.0.0.1:47500",
    "defaultCacheMode": "REPLICATED",
    "metrics": null,
    "nodeId": "2d0d6510-6fed-4fa3-b813-20f83ac4a1a9",
    "replicaCount": 128,
    "tcpAddresses": ["127.0.0.1"],
    "tcpHostNames": [""],
    "tcpPort": 11211
  },
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 一个节点的信息 {"attributes": null,"caches": {},"consistentId": "127.0.0.1:47500","defaultCacheMode": "REPLICATED","metrics": null,"nodeId": "2d0d6510-6fed-4fa3-b813-20f83ac4a1a9","replicaCount": 128,"tcpAddresses": ["127.0.0.1"],"tcpHostNames": [""],"tcpPort": 11211}

12.1.31.top

top命令获取一个网络拓扑的信息。 URL:

http://host:port/ignite?cmd=top&attr=true&mtr=true&id=c981d2a1-878b-4c67-96f6-70f93a4cd241

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|top,小写|| |mtr|boolean|是|如果为true,返回值会包含指标信息|true| |attr|boolean|是|如果为true,返回值会包含属性信息|true| |ip|string|是|如果传递了id参数该参数是可选的。返回值包含了指定IP对应的节点信息|192.168.0.1| |id|string|是|如果传递了ip参数该参数为可选的。返回值包含了指定节点id对应的节点信息|8daab5ea-af83-4d91-99b6-77ed2ca06647|

返回值示例

{
  "error": "",
  "response": [
    {
      "attributes": {
        ...
      },
      "caches": {},
      "consistentId": "127.0.0.1:47500",
      "defaultCacheMode": "REPLICATED",
      "metrics": {
        ...
      },
      "nodeId": "96baebd6-dedc-4a68-84fd-f804ee1ed995",
      "replicaCount": 128,
      "tcpAddresses": ["127.0.0.1"],
      "tcpHostNames": [""],
      "tcpPort": 11211
   },
   {
     "attributes": {
       ...
     },
     "caches": {},
      "consistentId": "127.0.0.1:47501",
      "defaultCacheMode": "REPLICATED",
      "metrics": {
        ...
      },
      "nodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
      "replicaCount": 128,
      "tcpAddresses": ["127.0.0.1"],
      "tcpHostNames": [""],
      "tcpPort": 11212
   }
  ],
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject 一个网络拓扑的信息 [{"attributes": {...},"caches":{},"consistentId": "127.0.0.1:47500","defaultCacheMode":"REPLICATED","metrics": {...},"nodeId": "96baebd6-dedc-4a68-84fd-f804ee1ed995",..."tcpPort":1121,{"attributes": {...},"caches": {},"consistentId": "127.0.0.1:47501","defaultCacheMode": "REPLICATED","metrics": {...},"nodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",..."tcpPort":11212}]

12.1.32.exe

exe命令在集群中执行给定的任务。 URL:

http://host:port/ignite?cmd=exe&name=taskName&p1=param1&p2=param2&async=true

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|exe,小写|| |name|string|否|要执行的任务名|summ| |p1...pN|string|是|任务执行的参数|arg1...argN| |async|boolean|是|任务异步执行的标志|true|

返回值示例

{
  "error": "",
  "response": {
    "error": "",
    "finished": true,
    "id": "~ee2d1688-2605-4613-8a57-6615a8cbcd1b",
    "result": 4
  },
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject JSON对象,包含了与错误有关的信息,任务的唯一标识,计算的结果和状态 {"error": "","finished": true,"id":"~ee2d1688-2605-4613-8a57-6615a8cbcd1b","result": 4}

12.1.33.res

res命令获取指定任务的计算结果。 URL:

http://host:port/ignite?cmd=res&id=8daab5ea-af83-4d91-99b6-77ed2ca06647

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|res,小写|| |id|string|否|要返回结果的任务id|69ad0c48941-4689aae0-6b0e-4d52-8758-ce8fe26f497d~4689aae0-6b0e-4d52-8758-ce8fe26f497d|

返回值示例

{
  "error": "",
  "response": {
    "error": "",
    "finished": true,
    "id": "69ad0c48941-4689aae0-6b0e-4d52-8758-ce8fe26f497d~4689aae0-6b0e-4d52-8758-ce8fe26f497d",
    "result": 4
  },
  "successStatus": 0
}
名称 类型 描述 示例
response jsonObject JSON对象,包含了与错误有关的信息,任务的唯一标识,计算的结果和状态 {"error": "","finished": true,"id":"~ee2d1688-2605-4613-8a57-6615a8cbcd1b","result": 4}

12.1.34.qryexe

qryexe命令在缓存中执行指定的查询。 URL:

http://host:port/ignite?cmd=qryexe&type=Person&pzs=10&cacheName=Person&arg1=1000&arg2=2000qry=salary+%3E+%3F+and+salary+%3C%3D+%3F

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qryexe,小写|| |type|string|否|要查询的类型|String| |pageSize|number|否|查询的每页大小|3| |cacheName|string|是|缓存名称,如果未提供则使用默认的缓存|testCache| |arg1...argN|string|否|查询的参数|1000,2000| |qry|string|否|编码后的sql|salary+%3E+%3F+and+salary+%3C%3D+%3F|

返回值示例

{
  "error":"",
  "response":{
    "fieldsMetadata":[],
    "items":[
      {"key":3,"value":{"name":"Jane","id":3,"salary":2000}},
      {"key":0,"value":{"name":"John","id":0,"salary":2000}}],
    "last":true,
    "queryId":0},
  "successStatus":0
}
名称 类型 描述 示例
response jsonObject JSON对象,包含了查询的结果集,最后页的标识以及查询的id {"fieldsMetadata":[],"items":[{"key":3,"value":{"name":"Jane","id":3,salary":2000}},{"key":0,"value":{"name":"John","id":0,"salary":2000}}],"last":true,"queryId":0}

12.1.35.qryfldexe

qryfldexe命令在缓存中执行指定的有字段的查询。 URL:

http://host:port/ignite?cmd=qryfldexe&pzs=10&cacheName=Person&qry=select+firstName%2C+lastName+from+Person

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qryfldexe,小写|| |pageSize|number|否|查询的每页大小|3| |cacheName|string|是|缓存名称,如果未提供则使用默认的缓存|testCache| |arg1...argN|string|否|查询的参数|1000,2000| |qry|string|否|编码后的sql|select+firstName%2C+lastName+from+Person|

返回值示例

{
  "error":"",
  "response":{
    "fieldsMetadata":[{"fieldName":"FIRSTNAME", "fieldTypeName":"java.lang.String", "schemaName":"person", "typeName":"PERSON"},{"fieldName":"LASTNAME","fieldTypeName":"java.lang.String","schemaName":"person","typeName":"PERSON"}],
    "items":[["Jane","Doe"],["John","Doe"]],
    "last":true,
    "queryId":0
  },
  "successStatus":0}
名称 类型 描述 示例
response jsonObject JSON对象,包含了查询的结果集,字段查询的元数据,最后页的标识以及查询的id {"fieldsMetadata":[{"fieldName":"FIRSTNAME","fieldTypeName":"java.lang.String","schemaName":"person","typeName":"PERSON"},...],"items":[["Jane","Doe"],["John","Doe"]],"last":true,"queryId":0}

12.1.36.qryfetch

qryfetch命令获取指定查询的下一页数据。 URL:

http://host:port/ignite?cmd=qryfetch&pzs=10&qryId=5

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qryfetch,小写|| |pageSize|number|否|查询的每页大小|3| |qryId|number|否|qryexe,qryfldexe,qryfetch命令执行返回的查询id,|0|

返回值示例

{
  "error":"",
  "response":{
    "fieldsMetadata":[],
    "items":[["Jane","Doe"],["John","Doe"]],
    "last":true,
    "queryId":0
  },
  "successStatus":0}
名称 类型 描述 示例
response jsonObject JSON对象,包含了查询的结果集,最后页的标识以及查询的id {"fieldsMetadata":[],"items":[["Jane","Doe"],["John","Doe"]],"last":true,"queryId":0}

12.1.37.qrycls

qrycls命令关闭查询占用的资源。 URL:

http://host:port/ignite?cmd=qrycls&qryId=5

请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qrycls,小写|| |qryId|number|否|qryexe,qryfldexe,qryfetch命令执行返回的查询id,|0|

返回值示例

{
  "error":"",
  "response":true,
  "successStatus":0
}
名称 类型 描述 示例
response boolean 如果成功关闭则为true true

12.2.配置

Ignite内部是使用Jetty提供的HTTP服务器功能,HTTP REST客户端是通过ConnectorConfiguration Bean配置的。

12.2.1.常规配置

参数名 描述 可选 默认值
setSecretKey(String) 定义了用于客户端认证的密钥,如果提供,客户端请求必须包含BASE64编码的"[1];[2]"哈希的"X-Signature"HTTP头,这里[1]是以毫秒为单位的时间戳,[2]是密钥 null
setPortRange(int) Jetty服务器的端口范围,如果在Jetty配置文件或者IGNITE_JETTY_PORT系统属性提供的端口被占用,Ignite会反复地加1然后试图绑定,直到超过了提供的端口范围 100
setJettyPath(String) Jetty配置文件的路径。可以是绝对路径也可以是相对于IGNITE_HOME的相对路径,如果未提供那么Ignite会使用一个简单的HTTP连接器启动Jetty服务器,这个连接器会分别使用IGNITE_JETTY_HOSTIGNITE_JETTY_PORT系统属性作为主机和端口,如果IGNITE_JETTY_HOST未提供,localhost会作为默认值,如果IGNITE_JETTY_PORT未提供,8080会作为默认值。 null

12.2.2.Jetty XML配置示例

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
    <Arg name="threadPool">
        <!-- Default queued blocking thread pool -->
        <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
            <Set name="minThreads">20</Set>
            <Set name="maxThreads">200</Set>
        </New>
    </Arg>
    <New id="httpCfg" class="org.eclipse.jetty.server.HttpConfiguration">
        <Set name="secureScheme">https</Set>
        <Set name="securePort">8443</Set>
        <Set name="sendServerVersion">true</Set>
        <Set name="sendDateHeader">true</Set>
    </New>
    <Call name="addConnector">
        <Arg>
            <New class="org.eclipse.jetty.server.ServerConnector">
                <Arg name="server"><Ref refid="Server"/></Arg>
                <Arg name="factories">
                    <Array type="org.eclipse.jetty.server.ConnectionFactory">
                        <Item>
                            <New class="org.eclipse.jetty.server.HttpConnectionFactory">
                                <Ref refid="httpCfg"/>
                            </New>
                        </Item>
                    </Array>
                </Arg>
                <Set name="host">
                  <SystemProperty name="IGNITE_JETTY_HOST" default="localhost"/>
                </Set>
                <Set name="port">
                  <SystemProperty name="IGNITE_JETTY_PORT" default="8080"/>
                </Set>
                <Set name="idleTimeout">30000</Set>
                <Set name="reuseAddress">true</Set>
            </New>
        </Arg>
    </Call>
    <Set name="handler">
        <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
            <Set name="handlers">
                <Array type="org.eclipse.jetty.server.Handler">
                    <Item>
                        <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
                    </Item>
                </Array>
            </Set>
        </New>
    </Set>
    <Set name="stopAtShutdown">false</Set>
</Configure>