Anonymous | Login | Signup for a new account | 12-17-2024 08:57 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0006041 | [Resin] | minor | always | 03-17-17 09:04 | 04-24-17 15:32 | ||||
Reporter | kpokrovsky | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | |||||||
Summary | 0006041: com.caucho.jmx.MBeanView does not match wildcard queries | ||||||||
Description |
log4j2 can't reload mbeand due to that, because resin's mbean server can't unlink old beans. 265: private boolean isMatch(ObjectName name, ObjectName queryName, QueryExp query): ... if (queryName.isPropertyPattern()) { // If the queryName has a '*' in the properties, then check // the queryName properties to see if they match Hashtable<String,String> map = queryName.getKeyPropertyList(); Iterator<String> iter = map.keySet().iterator(); while (iter.hasNext()) { String key = iter.next(); String value = map.get(key); if (! value.equals(name.getKeyProperty(key))) return false; } } ... The comment is correct. But why equals on value?! No wildcard matching actually happens just plain string comparison. Correct would be: if (! name.getKeyProperty(key).matches(value.replace("?", ".?").replace("*", ".*?"))) return false; |
||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
33 total queries executed. 27 unique queries executed. |