You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by tb...@apache.org on 2015/05/22 17:03:39 UTC
ambari git commit: AMBARI-11335 - Views: Classloading Issue with
slf4j (tbeerbower)
Repository: ambari
Updated Branches:
refs/heads/trunk 1a45bf10a -> 714d2535e
AMBARI-11335 - Views: Classloading Issue with slf4j (tbeerbower)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/714d2535
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/714d2535
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/714d2535
Branch: refs/heads/trunk
Commit: 714d2535edfc23a0ec2f9c8153e84e8f93c5d5ff
Parents: 1a45bf1
Author: tbeerbower <tb...@hortonworks.com>
Authored: Fri May 22 11:03:12 2015 -0400
Committer: tbeerbower <tb...@hortonworks.com>
Committed: Fri May 22 11:03:26 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/ambari/server/view/ViewClassLoader.java | 2 ++
.../org/apache/ambari/server/view/ViewClassLoaderTest.java | 7 +++++++
2 files changed, 9 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/714d2535/ambari-server/src/main/java/org/apache/ambari/server/view/ViewClassLoader.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewClassLoader.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewClassLoader.java
index 5b0c317..b7cb594 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewClassLoader.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewClassLoader.java
@@ -71,6 +71,8 @@ public class ViewClassLoader extends WebAppClassLoader {
// add com.google.inject as system classes to allow for injection in view components using the google annotation
webAppContext.addSystemClass("com.google.inject.");
+ // add org.slf4j as system classes to avoid linkage errors
+ webAppContext.addSystemClass("org.slf4j.");
return webAppContext;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/714d2535/ambari-server/src/test/java/org/apache/ambari/server/view/ViewClassLoaderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewClassLoaderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewClassLoaderTest.java
index b6a1396..8e22c49 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewClassLoaderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewClassLoaderTest.java
@@ -72,6 +72,7 @@ public class ViewClassLoaderTest {
expect(parentClassLoader.loadClass("ParentClass")).andReturn(parentClass).once();
expect(parentClassLoader.loadClass("javax.xml.parsers.SAXParserFactory")).andReturn(parentClass).once();
expect(parentClassLoader.loadClass("com.google.inject.AbstractModule")).andReturn(parentClass).once();
+ expect(parentClassLoader.loadClass("org.slf4j.LoggerFactory")).andReturn(parentClass).once();
replay(parentClassLoader);
@@ -103,6 +104,12 @@ public class ViewClassLoaderTest {
Assert.assertNotNull(clazz);
Assert.assertSame(parentClass, clazz);
+ // should be loaded by parent loader
+ clazz = classLoader.loadClass("org.slf4j.LoggerFactory");
+
+ Assert.assertNotNull(clazz);
+ Assert.assertSame(parentClass, clazz);
+
verify(parentClassLoader);
}