问题描述
|
这是我的情况:
我有一个使用
Coherence
网格存储数据的Web服务以获得更快的结果。网格包含特定的“ 1”对象-当用户输入新数据时,我将更新这些“ 2”对象。现在,我需要为此编写特定的JMeter测试。我可以添加一个EndPoint(Restful WS)来收集这些“ 2”来验证对象是否正在更新,但这混合了QA和Dev。
有没有一种方法可以使用JMeter直接连接到Grid并查询我的对象?甚至可以通过任何方式创建一个独立的Java应用程序并通过Jmeter运行(为查询添加特定的参数)以返回对象。
谢谢你们!
尼恩
编辑:java类来收集一致性对象
package disclosed.jmeter;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
public class JmeterTest extends AbstractJavaSamplerClient{
@Override
public Arguments getDefaultParameters() {
// Todo Auto-generated method stub
return null;
}
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
CacheFactory.getCluster().getMemberSet();
NamedCache cache = CacheFactory.getCache(\"myCache\");
System.out.println(\"The value taken from the cache is: \" + cache.get(\"message\"));
SampleResult result = new SampleResult();
result.setResponseCode((String) cache.get(\"message\"));
return result;
}
@Override
public void setupTest(JavaSamplerContext arg0) {
// Todo Auto-generated method stub
}
@Override
public void teardownTest(JavaSamplerContext arg0) {
// Todo Auto-generated method stub
}
}
解决方法
是的,如果您有Java库可以访问JMeter,或者可以通过模拟原始TCP / UDP网络流量,则可以从JMeter查询任何服务。
最好的方法是拥有现有的Java库来访问服务。然后,您可以从BeanShell Sampler使用它,或编写自定义Sampler,这很容易。
详细信息在很大程度上取决于您选择的库。