首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JSR223中存储自定义对象?

如何在JSR223中存储自定义对象?
EN

Stack Overflow用户
提问于 2021-03-31 10:00:10
回答 2查看 278关注 0票数 0

我将我的自定义监听器在make中设置为JSR223侦听器。

目前,它将记录附加到文本文件中,然后在测试运行期间调用侦听器(我认为这不利于测试的准确性),但我希望收集所有数据(由侦听器),并在测试结束后(在删除部分)将其保存在一个安静的地方。

Google找到了很多方法来存储字符串这样的单变量,但是如果我想存储复杂的数据集,这是不可接受的。是否有可能通过JSR223作为全局变量(在setUp阶段创建某个地方)存储我的自定义对象的Java数组(或类似的东西),对每个JSR223 lisneners/Sampler等等都可用?

如果我制作了"datakeeper“单例,它会像我预期的那样工作吗(我不知道JSR223是如何工作的,它会不会清除这个问题,它是否可用于其他JSR223实例),它是否适合我的目的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-31 10:24:58

只需使用props速记,它代表正常的属性,反过来:

  1. 全局,可以在其他线程组中访问,并且可以在此JVM实例中的任何地方访问
  2. 可以存储任何您想要的对象,而不仅仅是字符串

所以如果你做这样的事情:

代码语言:javascript
复制
 props.put('myObject', yourObject)

在setUp线程组中

您将能够在其他任何地方获得作为props.get('myObject')的值。

有关此props和其他JMeter API缩写的更多信息- 在Groovy中应该使用的前8个JMeter Java类

票数 2
EN

Stack Overflow用户

发布于 2021-03-31 12:15:39

这句话来自你的问题,色调的复杂的数据集,发出了警钟。将如此大量的数据存储在内存中将对您的执行产生不利影响。您可以预期线程会意外地死掉大部分到期的OutOfMemoryException。而且,如果JMeter崩溃了,您就会丢失在此之前捕获的所有统计信息。您可以调整堆设置,但这只是修补程序的工作,而不是问题语句的真正解决方案。

您可以继续使用当前的方法保存到本地文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66885548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档