У меня есть вопрос по дизайну и я хотел бы иметь предложения.
Я использую Weblogic 11g, EJB3.0.
У меня есть система, которая предназначена для извлечения и отправки сообщений нескольким ресурсам (базам данных).
Каждое сообщение содержит информацию и целевой ключ базы данных.
Итак, вот пример потока:
Я получаю от веб-службы сообщение и ключевую цель. Я разбираю сообщение и отправляю его в нужную базу данных через ключевую цель.
Существует вероятность того, что сообщение будет содержать более одной целевой базы данных (например, ключ «все» означает, что я должен отправить все базы данных.
Если в одном из ресурсов произойдет сбой вставки, произойдет откат, и повторная попытка повторит всю операцию.
Итак, теперь это моя проблема:
Должен ли я сделать количество очередей равным количеству моих ресурсов? (и посвятил каждую очередь определенному ресурсу)
(В этом случае я анализирую каждое сообщение и просто отправляю его в нужную очередь, в то время как MDB будет прослушивать и выполнять вставку в нужную базу данных)
Если я сделаю это таким образом, я не смогу сделать его динамическим. Это означает, что каждый раз, когда в будущем нужно будет добавлять/удалять новый ресурс, мне нужно будет открывать код и внесите нужные изменения.
Что думаете вы, дизайнеры? Как я могу реализовать это лучше динамически?
спасибо за вашу помощь луч.