Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

simplify jmx/read-supported and improve test output

  • Loading branch information...
commit d157d6487e8c04979850b8d572cb0341613d97c1 1 parent a0178ae
@stuarthalloway stuarthalloway authored
View
23 src/main/clojure/clojure/contrib/jmx/client.clj
@@ -40,31 +40,16 @@
(comp jmx->clj raw-read)
"Read an mbean property.")
-(defvar read-exceptions
- [UnsupportedOperationException
- InternalError
- java.io.NotSerializableException
- java.lang.ClassNotFoundException
- javax.management.AttributeNotFoundException
- javax.management.RuntimeMBeanException]
- "Exceptions that might be thrown if you try to read an unsupported
- attribute. Found these by testing agains jconsole and Tomcat. This
- is dreadful and ad-hoc but I did not want to swallow all
- exceptions.")
-
(defn read-supported
"Calls read to read an mbean property, *returning* unsupported
operation exceptions instead of throwing them. Used to keep mbean
- from blowing up. Note that some terribly-behaved mbeans use
- java.lang.InternalError to indicate an unsupported operation!"
+ from blowing up. Note: There is no good exception that aggregates
+ unsupported operations, hence the overly-general catch block."
[n attr]
(try
(read n attr)
- (catch Throwable t
- (let [cause (root-cause t)]
- (if (some #(instance? % cause) read-exceptions)
- cause
- (throw t))))))
+ (catch Exception e
+ e)))
(defn write! [n attr value]
(.setAttribute
View
2  src/test/clojure/clojure/contrib/test_jmx.clj
@@ -113,7 +113,7 @@
(deftest various-beans-are-readable
(testing "that all java.lang beans can be read without error"
(doseq [mb (jmx/mbean-names "*:*")]
- (jmx/mbean mb))))
+ (is (map? (jmx/mbean mb)) mb))))
(deftest test-jmx-url
(testing "creates default url"
Please sign in to comment.
Something went wrong with that request. Please try again.