Adding a try/catch to print errors when JMX published proxies cannot get their target beans #686
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adding a try/catch to print errors when JMX published proxies cannot get their target beans
We use the @ManagedResource and @ManagedOperation all the time. Since most of our singletons are lazy when it publishes the managed JMX bean it creates a cglib proxy to register with the mbean server in order to preserve the laziness. This is good.
The first time this JMX method is invoked, the bean is retrieved from the container and the managed operation method is invoked. If anything fails in between the mbean server calling the proxy and the proxy calling our application code inside the operation -- the exception will go back through RMI and if the client is JConsole or JVisualVm then it will fail as the exception classes aren't on those classpaths. It would be nice if spring would provide a way to enable logging in these scenarios.
This PR adds a try/catch to log an error when the getTarget fails as would be the case here. This would only affect generated proxies, which I think is a narrow change that doesn't seem to have any negative consequences. When would you not want to log an error here?
I have signed and agree to the terms of the SpringSource Individual
Contributor License Agreement.
Issue: SPR-12399