|
|
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Доброе вермя суток! Для посылки СМС использую следующий код ( SendMessage ): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. Флаги flag и flag1 исползуются для того, чтобы создавать коннект единожды, и не пересоздавать его при каждой отсылке СМС. Проблема в строке resp = session.submit(msg); функции SendSMS , которая непостредственно и отсылает СМС на указанный номер. Время ее выполнения - 4-6 секунд, т.е, отправка одного СМС происходит в течении этих 4-6 секунд, что очень долго. Можно ли ускорить выполнения указанной комманды submit ? Т.к, стоит задача отослать порядка 50-100 СМС за секунду (наброр СМС-ок берется из БД, или из текстового файла, время посылки сообщений от этого не меняется). С уважением, Ihor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 14:34:28 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Распараллель задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 14:49:08 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
ksm80Распараллель задачу.Извините, а можно чуть по-подробнее? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 16:06:47 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Ihor ksm80Распараллель задачу.Извините, а можно чуть по-подробнее? Спасибо Позволь мне? Запускай sendSMS() в отдельном потоке. Для пропихивания 50 СМС в секунду тебе нужно запустить как минимум 300 Thread'ов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 16:26:57 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
попробую. если у когото будут еще идеи, высказывайтесь, пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 16:32:15 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Не забудь только про concurrency. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 16:36:26 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Подобная задача стоит. Скоро начну делать. Необходимо наличие j2ee сервера (у меня стоит Oracle Application Server). Моё решение такое: DB Oracle ---> WS ---> Send JMS ---> MDM ---> SendSMS Много терминов, но в JDevelopere до точки старта SendSMS делается за 30 минут. 1. DB Oracle без проблем вызывает WS (<<1 сек) и передаёт параметры: String[] phones, String message 2. WS кидает в очередь JMS сообщение с параметрами. 3. Свободный MDB вытягивает из очереди следующее JMS сообщение и запускает функцию SendSMS (MDB имеет макс. кол. потоков. Можно установить, например, 100 потоков в единицу времени) А потом залазишь в Enterprise Meneger тюнингуешь параметры и сотришь графики %) Делать через класс Threads - громоздко. Лучше в среде j2ee сервера делать. Есть встречный вопрос. не используешь ли ты GPS модем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 17:06:16 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
ksm80 Делать через класс Threads - громоздко. Лучше в среде j2ee сервера делать. Про J2EE разговора у автора не было. С одним замечанием. Через Threads — получится изящно (и ничего громоздкого здесь нет, знаете ли). И будет работать быстрее MDB (по-определениею). А вот разворачивать J2EE ради посылки SMS — глупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 17:14:53 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
ksm80Есть встречный вопрос. не используешь ли ты GPS модем? нет, не использую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 10:10:50 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
а кто вам даст отправлять столько смс? или у вас в гос структурах друзья сидят? у опсосов есть ограничение на пропускную способность (выдается им при получении лицензии), 50 смс вам никто не даст. От силы 5. А если вы проигнорируете это ограничение, то от SMSC вам придет ошибка buffer full. С Thread действительно все быстро получается. Я в свое время так и делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 13:52:04 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Deadyа кто вам даст отправлять столько смс? или у вас в гос структурах друзья сидят? есть возможность отсылать порядка 100 смс в секунду:) почему - это уже не суть важно:) автор С Thread действительно все быстро получается. Я в свое время так и делал. можно небольшой пример кода? Тот вариант, который удалось реализовать, берет запись из БД, отсылает СМС, получает результат ОК, сообтветственно, правит запись в БД, но фактически, ни одна СМС не отправляется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 13:57:53 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Ihor можно небольшой пример кода? Тот вариант, который удалось реализовать, берет запись из БД, отсылает СМС, получает результат ОК, сообтветственно, правит запись в БД, но фактически, ни одна СМС не отправляется А можно посмотреть ваш код? Ну, метод, куда на вход отправляется коллекция SMS для отправки (куда, текст сообщения и т.д.) и всё что он делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 14:28:04 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
В классе, из которого непосредственно отсылается СМС, создал внутренний класс: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. и, вместо строки посылки СМС Код: plaintext использую Код: plaintext 1. 2. Строка Код: plaintext (строки из по) Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 14:51:46 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
(строки из по)=последние строки функции SendSMS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 14:53:07 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
а где у вас поток стартует??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 14:59:44 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
авторно значение rezultat меняется на 0 конечно ведь конструктор то его инициализирует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 15:01:15 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
В строке: Код: plaintext Бьюсь над этим уже второй день, все мысли закончились, остался только научный тык:( Скорее всего, проблема решится небольшим изменением кода, но вот до этого еще надо додуматься:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 15:06:40 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Сейчас я закончу свою работу напишу как нужно делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 15:08:09 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
Ihor А может сами догадаетесь? Всё вот это Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. должно находиться в отдельном потоке! Если вы поделитесь ссылкой на используемые либы я, быть может, напишу. Неохота что-то писать без возможности проверить компилятором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 15:45:47 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
попробую сам) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 16:15:15 |
|
||
|
Как уменьшить время выполнения public final SubmitSMResp submit(SubmitSM submitSM)?
|
|||
|---|---|---|---|
|
#18+
По аналогии с этим дёшево и сердито :) Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 16:51:41 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2147044]: |
0ms |
get settings: |
13ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
42ms |
get topic data: |
16ms |
get first new msg: |
12ms |
get forum data: |
4ms |
get page messages: |
86ms |
get tp. blocked users: |
3ms |
| others: | 269ms |
| total: | 478ms |

| 0 / 0 |
