Author: davsclaus
Date: Fri Jul 15 07:34:35 2011
New Revision: 1146990
URL: http://svn.apache.org/viewvc?rev=1146990&view=rev
Log:
Fixed camel-hdfs not being able to install in osgi, or possible hot deploy in
eg a web container due static code block.
Modified:
camel/trunk/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsComponent.java
Modified:
camel/trunk/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsComponent.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsComponent.java?rev=1146990&r1=1146989&r2=1146990&view=diff
==============================================================================
---
camel/trunk/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsComponent.java
(original)
+++
camel/trunk/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsComponent.java
Fri Jul 15 07:34:35 2011
@@ -23,18 +23,20 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class HdfsComponent extends DefaultComponent {
- static {
- URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
- }
+ private static final Logger LOG =
LoggerFactory.getLogger(HdfsComponent.class);
public HdfsComponent() {
+ initHdfs();
}
public HdfsComponent(CamelContext context) {
super(context);
+ initHdfs();
}
@SuppressWarnings("unchecked")
@@ -44,4 +46,13 @@ public class HdfsComponent extends Defau
return hdfsEndpoint;
}
+ protected void initHdfs() {
+ try {
+ URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
+ } catch (Throwable e) {
+ // ignore as its most likely already set
+ LOG.debug("Cannot set URLStreamHandlerFactory due " +
e.getMessage() + ". This exception will be ignored.", e);
+ }
+ }
+
}