package demo;
import java.util.Arrays;
import java.util.Collection;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.stereotype.Component;
@Component
class IntegrationClient {
private final ContactClient contactClient;
private final BookmarkClient bookmarkClient;
public IntegrationClient(ContactClient contactClient, BookmarkClient bookmarkClient) {
this.contactClient = contactClient;
this.bookmarkClient = bookmarkClient;
}
public Collection<Bookmark> getBookmarksFallback(String userId) {
System.out.println("getBookmarksFallback");
return Arrays.asList();
}
@HystrixCommand(fallbackMethod = "getBookmarksFallback")
public Collection<Bookmark> getBookmarks(String userId) {
return this.bookmarkClient.getBookmarks(userId);
}
public Collection<Contact> getContactsFallback(String userId) {
System.out.println("getContactsFallback");
return Arrays.asList();
}
@HystrixCommand(fallbackMethod = "getContactsFallback")
public Collection<Contact> getContacts(String userId) {
return this.contactClient.getContacts(userId);
}
}