JAX-RS 2.0 change default implementation

后端 未结 1 1331
孤街浪徒
孤街浪徒 2020-12-16 11:36

I\'m trying to use RESTEasy as JAX-RS 2.0 client implementation. The problem is that I got runtime exception:

06-28 13:29:06.410: E/AndroidRuntime(5745): Cau         


        
相关标签:
1条回答
  • 2020-12-16 11:40

    Well, JAX-RS relies on the Service Provider convention. On the first lines of the newBuilder method you can read:

     Object delegate = FactoryFinder.find(JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY,
       JAXRS_DEFAULT_CLIENT_BUILDER); 
    

    Where JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY is "javax.ws.rs.client.ClientBuilder"

    In turn, FactoryFinder looks

    • first for the class name into META-INF/services/javax.ws.rs.client.ClientBuilder
    • then in the property javax.ws.rs.client.ClientBuilder into ${java.home}/lib/jaxrs.properties
    • finally into the System property javax.ws.rs.client.ClientBuilder.

    So, to use RESTEasy, you should create a file

    META-INF/services/javax.ws.rs.client.ClientBuilder
    

    with the text:

    org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
    

    which is the class name of the RESTEasy ClientBuilder

    0 讨论(0)
提交回复
热议问题