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);
   }