Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hadoop >> mail # user >> Class loading in Hadoop and HBase


Copy link to this message
-
Class loading in Hadoop and HBase
Hi all,
I'm running with Hadoop 1.0.4 and HBase 0.94.12 bundled (OSGi) versions I
built.
Most issues I encountered are related to class loaders.

One of the patterns I noticed in both projects is:

    ClassLoader cl = Thread.currentThread().getContextClassLoader();
      if(cl == null) {
      cl = Clazz.class.getClassLoader();
    }

Where Clazz is the Class containing this code.

I was wondering about this choice... Why not go the other way around:

    ClassLoader cl = Clazz.class.getClassLoader();
      if(cl == null) {
      cl = Thread.currentThread().getContextClassLoader();
    }

And in a more general note, why not always use Configuration (and let it's
cl be this.getClass().getClassLoader()) to load classes ?

That would surely help in integration with modularity frameworks.

Thanks,
Amit.

 
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB