Cómo usar @Autowired para inyectar dinámicamente la implementación como un patrón de fábrica

Soy bastante nuevo en Sprint y estoy usando Spring 3.xy roo1.1.1 para mi aplicación.

Tengo una implementación múltiple de una interfaz que sería @Autowired en otras clases diferentes. Solo podría decidir con qué implementación ir en el tiempo de ejecución. Esto debería lograrse con un patrón de fábrica similar.

public interface SomeInterface {
    public void doSomething();
}

Implementación 1.

public class SomeOb implements SomeInterface {
    public void doSomething() {
        //Do something for first implementation here
    }
}

Implementación 2.

public class SomeOtherOb implements SomeInterface {
    public void doSomething() {
        //Do something for first implementation here
    }
}

Ahora en mi servicio necesitaba este Autowired como

@Service 
public class MyService {

   @Autowired
   SomeInterface ob;
   //Rest of the code here

}

1) La lógica para elegir qué implementación se debe conectar automáticamente es solo conocer el tiempo de ejecución, por lo que no puedo usar la anotación @Qualifier para calificar esto. 2) Traté de crear un FactoryBean como

public class SomeFactoryBean implements FactoryBean<SomeInterface> {
@Override
public SomeInterface getObject() throws Exception {
    if(/*Somecondition*/) {
        return new SomeOb();
    } else
        return new SomeOtherOb();
}

@Override
public Class<? extends SomeInterface> getObjectType() {
    if(/*Somecondition*/) {
        return SomeOb.class;
    } else
        return SomeOtherOb.class;
}

@Override
public boolean isSingleton() {
    return false;
}
}

En la applicationContext.xml tengo la etiqueta mencionada.

Cuando ejecuto el servidor web, me encuentro con un error como

No unique bean of type [com.xxxx.xxxx.SomeInterface] is defined: expected single matching bean but found 3: [xxxx, xxxxxxx, xxxxFactory]

¿Puede alguien ayudarme a resolver este problema? Si no estoy haciendo esto bien, por favor indíqueme que lo haga de la manera correcta.

Gracias y agradezco cualquier ayuda, jjk

Respuestas a la pregunta(2)

Su respuesta a la pregunta