You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2019/05/23 17:58:32 UTC
[cxf] 01/02: [CXF-8041]catch unchecked exceptions for all
ResourceResolvers so all ResourceResolvers have chance to run
This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 0f9926cbda134c8b29e6834d0e172bf0f68d3316
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Thu May 23 13:46:06 2019 -0400
[CXF-8041]catch unchecked exceptions for all ResourceResolvers so all ResourceResolvers have chance to run
(cherry picked from commit 513f83ecbadcae805d541ee246bf1ae0e80fda53)
---
.../org/apache/cxf/resource/DefaultResourceManager.java | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/core/src/main/java/org/apache/cxf/resource/DefaultResourceManager.java b/core/src/main/java/org/apache/cxf/resource/DefaultResourceManager.java
index 9b0564d..9aedc77 100644
--- a/core/src/main/java/org/apache/cxf/resource/DefaultResourceManager.java
+++ b/core/src/main/java/org/apache/cxf/resource/DefaultResourceManager.java
@@ -117,7 +117,20 @@ public class DefaultResourceManager implements ResourceManager {
if (asStream) {
ret = type.cast(rr.getAsStream(name));
} else {
- ret = rr.resolve(name, type);
+ try {
+ ret = rr.resolve(name, type);
+ } catch (RuntimeException ex) {
+ //ResourceResolver.resolve method expected to
+ //return an instance of the resource or null if the
+ //resource cannot be resolved. So we just catch
+ //Unchecked exceptions during resolving resource and log it.
+ //So other ResourceResolver get chance to be used
+ if (LOG.isLoggable(Level.FINE)) {
+ LOG.log(Level.FINE,
+ "run into exception when using" + rr.getClass().getName(), ex);
+ }
+
+ }
}
if (ret != null) {
break;