java.jmx

java.jmx: Invoke doesn't handle overloaded mbean methods

Details

  • Type: Defect Defect
  • Status: Resolved Resolved
  • Priority: Minor Minor
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Patch:
    Code
  • Approval:
    Accepted

Description

The invoke function in java.jmx won't work with overloaded mbean functions. This is because when you call invoke on an mbean operation you pass the method signature with the call. Our library always grabs the signature from the first operation with that name. If you try and invoke an overloaded method that isn't the first in the list, The parameter types/number won't match the signature that is passed and you'll get an exception.

I think perhaps the easiest/most non-intrusive solution is to add an 'invoke-with-signature' method and let the user pass in the parameter type list. I'm not exactly sure why we don't send the signature based on the parameters passed by the user anyway though. Perhaps the best solution is to just always do that.

Activity

Nick Bailey made changes -
Field Original Value New Value
Attachment 0001-Allow-invoking-overloaded-jmx-operations.patch [ 10362 ]
Nick Bailey made changes -
Approval Test
Patch Code and Test
Nick Bailey made changes -
Status Open [ 1 ] In Progress [ 3 ]
Nick Bailey made changes -
Assignee Nick Bailey [ nickmbailey ]
Nick Bailey made changes -
Project Clojure-Contrib [ 10012 ] java.jmx [ 10060 ]
Key CONTRIB-116 JMX-1
Nick Bailey made changes -
Patch Code and Test [ 10002 ] Code [ 10001 ]
Resolution Completed [ 1 ]
Approval Test [ 10013 ] Accepted [ 10005 ]
Assignee Nick Bailey [ nickmbailey ]
Status In Progress [ 3 ] Resolved [ 5 ]

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: