Это мой первый подход на основе сценариев с использованием узла препроцессора JSR223:
// This is where the data is embedded. Up to a couple of hundred entries
// is probably fine, more than that will likely be a bad idea.
def messageIdList = ["graffle", "wibble", "wobble", "flobble", "gibble", ...]
def messageIndex = (vars.getIteration() -1) % (messageIdList.size() -1)
println "iteration ${vars.iteration}, size ${messageIdList.size()}, index: ${messageIndex}"
vars.put("messageId", messageIdList[messageIndex]);
messageIndex++
Это, кажется, делает то, что я хочу, даже при запуске в Thread Group
с несколькими потоками.
Я не уверен точно, что представляет vars.getIteration()
, и я не уверен в точном времени жизни / области действия переменных. Но это будет делать сейчас.
Любые лучшие ответы будут с радостью приняты, отмечены и одобрены.