2つの独立したWebサービスで構成されるREST APIをSpringブートで構築しました。私はこれら2つのWebサービスが同じマシン上でホストされるかどうかはわかりませんので、すべてのサービスに対してリモートおよびローカル実装を行いたいと思います。例以下:REST APIサービスのリモートまたはローカル実装の自動実行
ローカルサービスの実装:
public class LocalExampleService implements ExampleService{
public Item getItem(long id){
//Get item using implementation from another local project
}
}
リモートサービスの実装:
public class RemoteExampleService implements ExampleService{
@Value("${serviceURL}")
private String serviceURL;
public Item getItem(long id){
//Get item calling remote service
}
}
コントローラー:
public class MyController{
@Autowired
private ExampleService exampleService;
}
Webサービスは、ローカルおよびリモートの実装とIとの多くのサービスを提供していますどのタイプの実装を選択すべきかをSpringに知らせたいすべてのサービス。
私はプロパティファイルにURLを置くことを考えていました。そして、初期化の際に、アプリケーションはプロパティにurlが含まれているかどうかをチェックしてから、適切にサービスをautowireします。しかし、私は、autowiringするすべてのサービスのロジックを記述する必要があります。
正しいサービス実装を自動的にオートワイヤリングする最適なオプションは何ですか?このhttps://github.com/StanislavLapitsky/SpringSOAProxy
アイデアのようなものを実装する
もっと説明できますか?あなたはアプリケーションの1つのインスタンスが一度に1つまたは他のものを必要とするだけであることを意味しますか?または実行時に必要なものを決定する必要がありますか? – Brian
@Brian私は2つの別々のWebサービスを持っています。両方のWebサービスが同じマシン上でホストされている場合、Springはサービスのローカル実装をautowireする必要があります(RESTを介して他のサービスを呼び出します)。 –