That sounds very strange indeed. I don't have an answer for how to
verify which driver is in use, except maybe put a breakpoint.

PS I had a quick look at the code [1]. It seems we are wired to
optionally accept Supplier<SSLContext> if the user binds one. This
would also be used with OkHttp according to the current impl.

In other words, you can try this to manage your own ssl context on a
per-request basis. If you have luck doing this, then maybe we can
arrange a test case that replicates the scenario you discuss.

.modules(ImmutableSet.of(new AbstractModule(){
  @Override public void configure() {
    bind(new TypeLiteral<Supplier<SSLContext>>(){}).toInstance(new
Supplier<SSLContext>() {
      @Override public SSLContext get() {
        return whatYouManage; // note this is called per-request so
can be expensive.
      }
    }
  }
}))

[1] 
https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java#L207

On Fri, Oct 3, 2014 at 10:05 AM, Yury Kats <yuryk...@yahoo.com> wrote:
> Tried both, no change in behavior.
>
> However, what's confusing, is that if I add just the jclouds-okhttp jar, 
> without pulling its dependencies (no okhttp and okio),
> I can still instantiate the KeystoneApi and connect
>
>  KeystoneApi keystoneAPI = ContextBuilder.newBuilder(new 
> KeystoneApiMetadata())
>                 .endpoint(url)
>                 .credentials(tenant + ":" + user, key)
>                 .modules(ImmutableSet.of(new 
> OkHttpCommandExecutorServiceModule()))
>                 .buildApi(KeystoneApi.class);
>
> Which makes me think the driver is not being utilized, regardless of the 
> .modules() modifier.
>
> How can I confirm what driver is actually being used to make the connection?
>
>
> On 10/3/2014 12:44 PM, Adrian Cole wrote:
>> Nope that's it. Same process for the okhttp one (if you wish to try it)
>>
>> -A
>>
>> On Oct 3, 2014 9:15 AM, "Yury Kats" <yuryk...@yahoo.com 
>> <mailto:yuryk...@yahoo.com>> wrote:
>>
>>     Thanks, got them.
>>
>>     So to use those drivers, all I need to do  is add
>>
>>             .modules(ImmutableSet.of(new 
>> ApacheHCHttpCommandExecutorServiceModule()))
>>
>>     into
>>
>>             KeystoneApi keystoneAPI = ContextBuilder.newBuilder(new 
>> KeystoneApiMetadata())
>>                     .endpoint(url)
>>                     .credentials(tenant + ":" + user, key)
>>                     .buildApi(KeystoneApi.class);
>>
>>     Or is there more to it?
>>
>>     On 10/3/2014 9:56 AM, Andrew Phillips wrote:
>>     > Hi Yury
>>     >
>>     >> I don't seem to find those in any of the jclouds 1.8.0 jars.
>>     >> Where do I get them from?
>>     >
>>     > They're additional dependencies with GA
>>     > org.apache.jclouds.driver:jclouds-okhttp and
>>     > org.apache.jclouds.driver:jclouds-apachehc [1] respectively. You
>>     > should be able to add them to your project as just an additional Maven
>>     > dependency (if you're using Maven) - they'll take care of wiring them
>>     > up themselves.
>>     >
>>     > If you have any questions or it doesn't seem to work, please give us
>>     > some more details about your project setup (e.g. are you using Maven?).
>>     >
>>     > Regards
>>     >
>>     > ap
>>     >
>>     > [1] http://search.maven.org/#search%7Cga%7C1%7Cjclouds%20driver
>>     >
>>
>

Reply via email to