@@ -290,7 +290,7 @@ public static TaggableReadPreference nearest(DBObject firstTagSet, DBObject... r
290
290
* @deprecated As of release 2.9.0, replaced by {@code ReadPreference.primary()}
291
291
*/
292
292
@ Deprecated
293
- public static final ReadPreference PRIMARY = new PrimaryReadPreference () ;
293
+ public static final ReadPreference PRIMARY ;
294
294
295
295
/**
296
296
* A secondary-preferred read preference. Equivalent to calling
@@ -304,7 +304,7 @@ public static TaggableReadPreference nearest(DBObject firstTagSet, DBObject... r
304
304
* @deprecated As of release 2.9.0, replaced by {@code ReadPreference.secondaryPreferred()}
305
305
*/
306
306
@ Deprecated
307
- public static final ReadPreference SECONDARY = new TaggableReadPreference . SecondaryPreferredReadPreference () ;
307
+ public static final ReadPreference SECONDARY ;
308
308
309
309
/**
310
310
* @deprecated As of release 2.9.0, replaced by
@@ -324,9 +324,20 @@ public static ReadPreference withTags( final DBObject tags ) {
324
324
return new TaggedReadPreference ( tags );
325
325
}
326
326
327
- private static final ReadPreference _PRIMARY = new PrimaryReadPreference ();
328
- private static final ReadPreference _SECONDARY = new TaggableReadPreference .SecondaryReadPreference ();
329
- private static final ReadPreference _SECONDARY_PREFERRED = new TaggableReadPreference .SecondaryPreferredReadPreference ();
330
- private static final ReadPreference _PRIMARY_PREFERRED = new TaggableReadPreference .PrimaryPreferredReadPreference ();
331
- private static final ReadPreference _NEAREST = new TaggableReadPreference .NearestReadPreference ();
327
+ private static final ReadPreference _PRIMARY ;
328
+ private static final ReadPreference _SECONDARY ;
329
+ private static final ReadPreference _SECONDARY_PREFERRED ;
330
+ private static final ReadPreference _PRIMARY_PREFERRED ;
331
+ private static final ReadPreference _NEAREST ;
332
+
333
+ static {
334
+ _PRIMARY = new PrimaryReadPreference ();
335
+ _SECONDARY = new TaggableReadPreference .SecondaryReadPreference ();
336
+ _SECONDARY_PREFERRED = new TaggableReadPreference .SecondaryPreferredReadPreference ();
337
+ _PRIMARY_PREFERRED = new TaggableReadPreference .PrimaryPreferredReadPreference ();
338
+ _NEAREST = new TaggableReadPreference .NearestReadPreference ();
339
+
340
+ PRIMARY = _PRIMARY ;
341
+ SECONDARY = _SECONDARY_PREFERRED ; // this is not a bug. See SECONDARY Javadoc.
342
+ }
332
343
}
0 commit comments