2011-07-05 4 views
0

데이터베이스에서 전송 대기중인 전자 메일을 검색하는 Java 시스템을 개발하면 임시 버퍼에로드됩니다. 전자 메일이 버퍼에서 감지 될 때마다 관측자/관찰 가능 패턴을 사용하여 smtp 서버에 알립니다. 요점은 각 서버가 다른 스레드에서 실행되고 모든 스레드가 버퍼를 관찰하는 것입니다. 누구든지 나를 구현하는 방법을 이해하는 데 도움이 될 수 있다면 그것을 감사 할 것입니다. 이전에 이미 관찰자 패턴을 사용했지만 멀티 스레딩에는 사용하지 않았습니다. 나는 인터넷에서 많이 검색했습니다 이후관찰자로 스레드를 갖는 관찰 가능한 패턴을 구현하는 것이 가능합니까? 그렇다면 좋은 생각입니까?

희망 누군가가 나를 도울 수 있지만 기본적으로 ExecutorService의 생각이 어떤 답변

+0

각 서버가 다른 * 스레드 * 또는 다른 * 프로세스/시스템 *에서 실행되고 있습니까? –

+0

서버 당 스레드가 1 개 있습니다. – Ezequiel

답변

0

을 찾을 수 couldnt한다. 하나 이상의 스레드 (스레드 풀)에 의해 지원되는 실행 프로그램 서비스를 작성하고이 실행 프로그램 서비스에 태스크를 제출합니다. 태스크는 큐에 저장되며, Executor 서비스의 스레드는 실행해야하는 태스크를 취합니다. 큐가 비어있을 때, 스레드는 새로운 태스크가 큐에 나타날 때까지 대기합니다.

Map<SmtpServer, ExecutorService>을 가질 수 있으며 데이터베이스에서 찾은 모든 메일을 적절한 실행 프로그램 서비스에 제출할 수 있습니다. Executors을 사용하여 적절한 ExecutorService 구현을 만듭니다.