나는 자신을 식별하기 위해 고유 한 ID를 보내는 일괄 웹 서비스를 사용해야합니다. 그러면 서비스는 나중에 몇 분 후에 고유 한 응답 ID를 보내야합니다. 필요한 정보. 일반적으로 응답 ID를 추적하고 나중에 실제 응답을 얻기 위해 서비스를 다시 호출하는 좋은 방법은 무엇입니까?비동기 웹 서비스를 사용하는 일반적인 Java 디자인
0
A
답변
0
쉬운 해결책은 ID를 저장하고지도 * 또는 목록을 타임 스탬프 한 다음 특정 나이보다 오래된 모든 ID를 깨우고 처리하는 별도의 스레드에 루프를 넣는 것입니다. (지도 또는 목록이 스레드로부터 안전한지 확인하십시오.) 그러나 앱이 다운되어 다시 실행되면 보류중인 요청을 추적 할 수 없습니다. 케이스를 처리해야하는 경우 데이터베이스를 사용하십시오.
* 특정 해결 방법 중 하나는 타임 스탬프로 정렬 된 SortedMap을 사용하는 것입니다. 모든 타임 스탬프가 고유해야하므로 밀리 초당 하나 이상의 요소를 맵에 배치하지 않을 것으로 예상해야합니다. 그런 다음 ID를 맵에 넣으려면 타임 스탬프를 System.currentTimeMillis()로 지정하고 타임 스탬프는 이미 맵에서 키가되는 동안 증가 시키십시오. 그런 다음 (timestamp, ID) 쌍을 SortedMap에 넣습니다. 이 솔루션은 편리합니다. 왜냐하면 루프 스레드는 SortedMap의 요소를 처음부터 너무 새로 읽을 때까지 중지 한 다음 중지해야합니다. 왜냐하면 모든 가장 오래된 요소가 맵의 시작 부분에 있기 때문입니다.
관련 문제
- 1. 서비스를 사용하는 적절한 디자인
- 2. 비동기 웹 서비스 디자인 패턴
- 3. 웹 서비스를 사용하는 siebel 및 java 통합
- 4. 많은 웹 서비스를 사용하는 디자인 웹 응용 프로그램
- 5. 클라이언트에서 UDDI의 비동기 구독 서비스를 사용하는 방법?
- 6. 이벤트 기반 비동기 패턴을 준수하는 웹 서비스를 사용하는 방법은 무엇입니까?
- 7. 웹 서비스를 사용하는 html5
- 8. .NET 웹 서비스를 Java에서 비동기 적으로 호출
- 9. Silverlight에서 Java 웹 서비스를 호출하면 예외가 throw됩니다.
- 10. 일반적인 응용 프로그램 디자인 (IntentService/ContentProvider/AsyncTask)
- 11. 안드로이드에서 웹 서비스를 사용하는 방법?
- 12. 웹 서비스를 사용하는 방법 페이지?
- 13. 플렉스에서 웹 서비스를 사용하는 방법?
- 14. Executors.newFixedThreadPool을 사용하는 비동기 Java NIO에 도움이 필요합니다.
- 15. 일반적인 방법, 디자인 질문
- 16. 이 데이터의 일반적인 디자인
- 17. 일반적인 디자인 질문
- 18. Java Swing 클라이언트가 웹 서비스를 사용하는 가장 쉬운 방법은 무엇입니까?
- 19. Java 클라이언트가 WCF에서 만든 SOAP 1.2 웹 서비스를 사용하는 방법?
- 20. Java vs C++ : 웹 서비스를 사용하는 응용 프로그램의 성능
- 21. WPF의 비동기 웹 서비스
- 22. 비동기 API 콜백 디자인 질문
- 23. 일반적인 Windows 서비스 디자인 패턴은 무엇입니까?
- 24. ASP.NET - 비동기 웹 서비스
- 25. 비동기 호출과 비동기 작업을 사용하는 웹 서비스 호출의 차이점
- 26. vC++에서 Java 기반 웹 서비스를 사용합니다.
- 27. 쿠키를 사용하는 Objective-C 비동기 웹 요청
- 28. NHibernate를 사용하는 웹 응용 프로그램의 비동기 쿼리
- 29. Java : 싱글 톤 및 제네릭을 사용하는 디자인
- 30. C# 디자인 패턴 : 일반적인 방법?