Can you check this example: https://github.com/mawasak/custom_jmeter_plugin
?

In jar folder you have compiled file ready to put in lib/ext - you will
have second CacheManager then  in Add->Config Element menu (named My
CacheManager)

Source code on github.

JMX is here
https://github.com/mawasak/custom_jmeter_plugin/blob/master/custom_cache_plugin.jmx
CacheManager in jmx:

<my.plugin.Library guiclass="my.plugin.LibraryGui" testclass="
my.plugin.Library" testname="My CacheManager" enabled="true">

Maybe it helps.

Mariusz

On Thu, 2 Apr 2020 at 16:21, Draelants Geert <[email protected]>
wrote:

> I think I’ve found the problem.
>
> HTTPSamplerBase.apples(ConfigTestElement) only accepts the default
> canonical name of CacheManagerGui.
> Because of that my updated implementation is never added to the sampler.
>
> Guess I’m gonna have to patch the jar after all.
>
> Regards,
> Geert
>
> > Op 2 apr. 2020, om 11:23 heeft Mariusz W <[email protected]> het
> volgende geschreven:
> >
> > Hi,
> > HttpSampler can only have one CacheManager. Do you see in logs: "Existing
> > CacheManager {} superseded by {}"? - emitted by setCacheManager.
> >
> > In code CacheManager it is selected that way as below.
> >
> > @Override
> > public void addTestElement(TestElement el) {
> > if (el instanceof CookieManager) {
> > setCookieManager((CookieManager) el);
> > } else if (el instanceof CacheManager) {
> > setCacheManager((CacheManager) el);
> > } else if (el instanceof HeaderManager) {
> > setHeaderManager((HeaderManager) el);
> > } else if (el instanceof AuthManager) {
> > setAuthManager((AuthManager) el);
> > } else if (el instanceof DNSCacheManager) {
> > setDNSResolver((DNSCacheManager) el);
> > } else if (el instanceof KeystoreConfig) {
> > setKeystoreConfigProperty((KeystoreConfig) el);
> > } else {
> > super.addTestElement(el);
> > }
> > }
> >
> > Do you see your guiclass/testclass in saved jmx?
> >
> > Regards,
> > Mariusz
> >
> > On Thu, 2 Apr 2020 at 10:43, Draelants Geert <[email protected]>
> > wrote:
> >
> >> Hi,
> >>
> >> Does anybody know how I can replace the HTTP cache manager with my own
> >> implementation?
> >>
> >> I’m trying to extend the default one with options to (1) consider all
> >> Cache-Control headers (and not just the last one) and (2) process the
> >> Pragma header.*
> >>
> >> What I’ve done is extended CacheManager and CacheManagerGui and put my
> >> ‘plugin’ in lib\ext.
> >> I can then add the element in the Test Plan but the HTTP sampler will
> not
> >> pick it up and continues to rely on
> >> org.apache.jmeter.protocol.http.control.CacheManager.
> >>
> >> What am I missing? I am using JMeter v5.2.1 btw.
> >> I know I can always replace the .class files in ApacheJMeter_http.jar
> but
> >> I’m not there yet.
> >>
> >> Thanks in advance for your help!
> >>
> >> Regards,
> >> Geert
> >>
> >> * Yes, it is obsolete as of HTTP 1.1 but not all browsers seem to know
> >> that.
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to