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

Hide
Nick Bailey added a comment - - edited

This patch also includes the patch I attached to JMX-2. The patch from that ticket was required to actually be able to test this functionality.

Show
Nick Bailey added a comment - - edited This patch also includes the patch I attached to JMX-2. The patch from that ticket was required to actually be able to test this functionality.
Hide
Nick Bailey added a comment -

Committed.

Show
Nick Bailey added a comment - Committed.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: