Я хочу использовать spring mvc controller, чтобы получить пользовательскую команду ввода и аргументы, а затем вызвать метод sendCommand.
Вызывать URL как:
http://127.0.0.1:8090/offheap/cmd?command=set a 1 b 2 c 3
Контроллер примет приведенную ниже команду в виде строки.
набор 1 б 2 с 3
Затем он вызовет метод sendCommand для установки ключа a, значение 1; ключ b, значение 2; ключ c, значение 3 в локальный кеш.
Код контроллера ниже:
@ResponseBody
@RequestMapping(value = "/offheap/cmd")
public String userInput(@RequestParam String command) {
String[] commandArray = command.split(" ");
String cmd = StringUtils.upperCase(commandArray[0]);
Object result;
if (commandArray.length > 1) {
//TODO, how to construct the args??
byte[][] args = null;
result = ohcCacheStrategy.sendCommand(OffheapCacheCommand.valueOf(cmd), args);
} else {
result = ohcCacheStrategy.sendCommand(OffheapCacheCommand.valueOf(cmd));
}
return JSON.toJSONString(result);
}
Код метода SendCommand ниже:
public Object sendCommand(OffheapCacheCommand command, byte[]... args) {
//logic here, will ignore.
}
Я знаю, что byte [] ... args, одна конструкция shold, массив byte [] [] содержит данные, которые вы хотите передать методу sendCommand.
Но проблема в том, что массив byte [] [] сложно построить.
У кого-нибудь есть хорошие идеи для создания этого байтового массива [] []?