我有一个messageListener,目的是启动客户端实现客户端接口。客户端接口的不同实现在编译时是未知的。
messageListener 使用 Launcher-bean 来启动客户端。所以我的问题是我需要构建一个 Launcher-bean,其中注入了客户端接口的选定实现。我不知道该怎么做,或者我应该以不同的方式解决这个问题?
public class MyMessageConsumer implements MessageListener {
public void onMessage(Message message) {
String clientType = message.getClientType();
//Here i need to construct a launcher-bean, which has the correct Client-implementation injected
launcher.startClient(message);
}
}
public class Launcher {
@Inject
private Client client;
public void startClient(Message message) {
...
client.start(message);
}
}
编辑:我意识到棘手的部分是没有找到正确的实现,但我需要消息的消费作为新请求发生。是否有可能理解我所追求的?