@ FFDCIgnore ( Throwable . class ) @ Trivial private void set ( Class < ? > MongoClientOptions_Builder , Object optionsBuilder , String propName , Object value ) throws IntrospectionException , IllegalArgumentException , IllegalAccessException , InvocationTargetException { try { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( this , tc , propName + ' ' + value ) ; Class < ? > type = MONGO_CLIENT_OPTIONS_TYPES . get ( propName ) ; // setter methods are just propName, no setPropName. Method method = MongoClientOptions_Builder . getMethod ( propName , type ) ; // even though we told the config service that some of these props are Integers, they get converted to longs. Need // to convert them back to int so that our .invoke(..) method doesn't blow up. if ( type . equals ( int . class ) && value instanceof Long ) { value = ( ( Long ) value ) . intValue ( ) ; } method . invoke ( optionsBuilder , value ) ; return ; } catch ( Throwable x ) { if ( x instanceof InvocationTargetException ) x = x . getCause ( ) ; IllegalArgumentException failure = ignoreWarnOrFail ( x , IllegalArgumentException . class , "CWKKD0010.prop.error" , propName , MONGO , id , x ) ; if ( failure != null ) { FFDCFilter . processException ( failure , getClass ( ) . getName ( ) , "394" , this , new Object [ ] { value == null ? null : value . getClass ( ) , value } ) ; throw failure ; } } }
Configure a mongo option .