我必须将接口的不同实现注入到一个服务中,比如说休息。由于项目限制,我必须将实现定义为EJB。
现在我有几个问题:
简而言之,在以下架构中可能出什么问题或最终导致运行时错误?
@Local
-Interface IGenerator{
generate();
}
abstract AbsGenerator implements IGenerator{
@inject
SomeService aService;
}
@stateless(name="xgenerator")
Class XGenerator extends AbsGenerator {
@permitAll
@override
generate(){
aService.doSomestuf();
//generate xxxxxx
}
}
@stateless(name="ygenerator")
Class YGenerator extends AbsGenerator {
@permitAll
@override
generate(){
aService.doSomestuf();
aService.doSomeotherstuf();
//generate yyyyyy
}
}
@Path("/genservice")
public class GeneratingService {
@Named("xgenerator")
IGenerator xGenerator;
@Named("ygenerator")
IGenerator yGenerator;
@Post
public void start () {
xGenerator.generate();
yGenerator.generate();
}
}