@@ -290,7 +290,7 @@ public static TaggableReadPreference nearest(DBObject firstTagSet, DBObject... r
290290 * @deprecated As of release 2.9.0, replaced by {@code ReadPreference.primary()}
291291 */
292292 @ Deprecated
293- public static final ReadPreference PRIMARY = new PrimaryReadPreference () ;
293+ public static final ReadPreference PRIMARY ;
294294
295295 /**
296296 * A secondary-preferred read preference. Equivalent to calling
@@ -304,7 +304,7 @@ public static TaggableReadPreference nearest(DBObject firstTagSet, DBObject... r
304304 * @deprecated As of release 2.9.0, replaced by {@code ReadPreference.secondaryPreferred()}
305305 */
306306 @ Deprecated
307- public static final ReadPreference SECONDARY = new TaggableReadPreference . SecondaryPreferredReadPreference () ;
307+ public static final ReadPreference SECONDARY ;
308308
309309 /**
310310 * @deprecated As of release 2.9.0, replaced by
@@ -324,9 +324,20 @@ public static ReadPreference withTags( final DBObject tags ) {
324324 return new TaggedReadPreference ( tags );
325325 }
326326
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+ }
332343}
0 commit comments