Hadoop in a RESTful Java Web Application - Conflicting URI templates

Posted by user1231583 on Stack Overflow See other posts from Stack Overflow or by user1231583
Published on 2012-02-24T20:37:52Z Indexed on 2012/12/13 17:03 UTC
Read the original article Hit count: 309

Filed under:
|
|
|
|

I have a small Java Web Application in which I am using Jersey 1.12 and the Hadoop 1.0.0 JAR file (hadoop-core-1.0.0.jar). When I deploy my application to my JBoss 5.0 server, the log file records the following error:

SEVERE: Conflicting URI templates. The URI template / for root resource class   
org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods and the URI  
template / transform to the same regular expression (/.*)?

To make sure my code is not the problem, I have created a fresh web application that contains nothing but the Jersey and Hadoop JAR files along with a small stub. My web.xml is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"   
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
   <servlet>
    <servlet-name>ServletAdaptor</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-  class>
    <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
    <servlet-name>ServletAdaptor</servlet-name>
    <url-pattern>/mytest/*</url-pattern>
   </servlet-mapping>    
   <session-config>
    <session-timeout>
        30
    </session-timeout>
   </session-config>
   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
</web-app>

My simple RESTful stub is as follows:

import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.Path;

@Path("/mytest")
public class MyRest {

@Context
private UriInfo context;

  public MyRest() {
  }
}

In my regular application, when I remove the Hadoop JAR files (and the code that is using Hadoop), everything works as I would expect. The deployment is successful and the remaining RESTful services work. I have also tried the Hadoop 1.0.1 JAR files and have had the same problems with the conflicting URL template in the NamenodeWebHdfsMethods class. Any suggestions or tips in solving this problem would be greatly appreciated.

© Stack Overflow or respective owner

Related posts about java

Related posts about rest