3636import com .mongodb .internal .async .SingleResultCallback ;
3737import com .mongodb .internal .binding .AsyncClusterBinding ;
3838import com .mongodb .internal .binding .AsyncConnectionSource ;
39- import com .mongodb .internal .binding .AsyncOperationContextBinding ;
4039import com .mongodb .internal .binding .AsyncReadBinding ;
4140import com .mongodb .internal .binding .AsyncReadWriteBinding ;
4241import com .mongodb .internal .binding .AsyncSingleConnectionBinding ;
4342import com .mongodb .internal .binding .ClusterBinding ;
44- import com .mongodb .internal .binding .OperationContextBinding ;
4543import com .mongodb .internal .binding .ReadWriteBinding ;
4644import com .mongodb .internal .binding .ReferenceCounted ;
4745import com .mongodb .internal .binding .SimpleSessionContext ;
@@ -373,33 +371,18 @@ public static ReadWriteBinding getBinding(final Cluster cluster) {
373371 return new ClusterBinding (cluster , ReadPreference .primary ());
374372 }
375373
376- public static ReadWriteBinding getBinding (final TimeoutSettings timeoutSettings ) {
377- return getBinding (getCluster (), ReadPreference .primary (), createNewOperationContext (timeoutSettings ));
378- }
379-
380- public static ReadWriteBinding getBinding (final OperationContext operationContext ) {
381- return getBinding (getCluster (), ReadPreference .primary (), operationContext );
382- }
383-
384374 public static ReadWriteBinding getBinding (final ReadPreference readPreference ) {
385- return getBinding (getCluster (), readPreference , OPERATION_CONTEXT );
386- }
387-
388- public static OperationContext createNewOperationContext (final TimeoutSettings timeoutSettings ) {
389- return OPERATION_CONTEXT .withTimeoutContext (new TimeoutContext (timeoutSettings ));
375+ return getBinding (getCluster (), readPreference );
390376 }
391377
392378 private static ReadWriteBinding getBinding (final Cluster cluster ,
393- final ReadPreference readPreference ,
394- final OperationContext operationContext ) {
379+ final ReadPreference readPreference ) {
395380 if (!BINDING_MAP .containsKey (readPreference )) {
396381 ReadWriteBinding binding = new ClusterBinding (cluster , readPreference );
397382 BINDING_MAP .put (readPreference , binding );
398383 SESSION_CONTEXT_MAP .put (readPreference , new SimpleSessionContext ());
399384 }
400- ReadWriteBinding readWriteBinding = BINDING_MAP .get (readPreference );
401- return new OperationContextBinding (readWriteBinding ,
402- operationContext .withSessionContext (SESSION_CONTEXT_MAP .get (readPreference )));
385+ return BINDING_MAP .get (readPreference );
403386 }
404387
405388 public static SingleConnectionBinding getSingleConnectionBinding () {
@@ -419,33 +402,18 @@ public static AsyncReadWriteBinding getAsyncBinding(final Cluster cluster) {
419402 }
420403
421404 public static AsyncReadWriteBinding getAsyncBinding () {
422- return getAsyncBinding (getAsyncCluster (), ReadPreference .primary (), OPERATION_CONTEXT );
423- }
424-
425- public static AsyncReadWriteBinding getAsyncBinding (final TimeoutSettings timeoutSettings ) {
426- return getAsyncBinding (createNewOperationContext (timeoutSettings ));
427- }
428-
429- public static AsyncReadWriteBinding getAsyncBinding (final OperationContext operationContext ) {
430- return getAsyncBinding (getAsyncCluster (), ReadPreference .primary (), operationContext );
431- }
432-
433- public static AsyncReadWriteBinding getAsyncBinding (final ReadPreference readPreference ) {
434- return getAsyncBinding (getAsyncCluster (), readPreference , OPERATION_CONTEXT );
405+ return getAsyncBinding (getAsyncCluster (), ReadPreference .primary ());
435406 }
436407
437408 public static AsyncReadWriteBinding getAsyncBinding (
438409 final Cluster cluster ,
439- final ReadPreference readPreference ,
440- final OperationContext operationContext ) {
410+ final ReadPreference readPreference ) {
441411 if (!ASYNC_BINDING_MAP .containsKey (readPreference )) {
442412 AsyncReadWriteBinding binding = new AsyncClusterBinding (cluster , readPreference );
443413 ASYNC_BINDING_MAP .put (readPreference , binding );
444414 ASYNC_SESSION_CONTEXT_MAP .put (readPreference , new SimpleSessionContext ());
445415 }
446- AsyncReadWriteBinding readWriteBinding = ASYNC_BINDING_MAP .get (readPreference );
447- return new AsyncOperationContextBinding (readWriteBinding ,
448- operationContext .withSessionContext (ASYNC_SESSION_CONTEXT_MAP .get (readPreference )));
416+ return ASYNC_BINDING_MAP .get (readPreference );
449417 }
450418
451419 public static synchronized Cluster getCluster () {
@@ -713,12 +681,12 @@ public static <T> T executeSync(final ReadOperation<T, ?> op) {
713681
714682 @ SuppressWarnings ("overloads" )
715683 public static <T > T executeSync (final ReadOperation <T , ?> op , final ReadWriteBinding binding ) {
716- return op .execute (binding , OPERATION_CONTEXT );
684+ return op .execute (binding , applySessionContext ( OPERATION_CONTEXT , binding . getReadPreference ()) );
717685 }
718686
719687 @ SuppressWarnings ("overloads" )
720688 public static <T > T executeSync (final ReadOperation <T , ?> op , final ReadWriteBinding binding , final OperationContext operationContext ) {
721- return op .execute (binding , operationContext );
689+ return op .execute (binding , applySessionContext ( operationContext , binding . getReadPreference ()) );
722690 }
723691
724692 @ SuppressWarnings ("overloads" )
0 commit comments