forum.bitel.ru
http://forum.bitel.ru/

Асинхронный запуск
http://forum.bitel.ru/viewtopic.php?f=49&t=11077
Страница 1 из 1

Автор:  Dog [ 09 ноя 2015, 00:55 ]
Заголовок сообщения:  Асинхронный запуск

При запуске класса привязанного к процессу столкнулся с таймаутом в 1000мс.
Решил обернуть кусок кода, который требует много времени (отсылка письма через метод из MailMsg) в отдельный класс реализующий Runnable интерфейс и запустить его отдельным Thread.
Правильно ли или в CRM есть более верный путь?

Код:
package ru.bgcrm.dyn.my.utils.message.mail;

import ru.bgcrm.util.MailMsg;
import ru.bgcrm.util.Setup;

public class MailSender implements Runnable {
   
   private String mailTo;
   private String mailSubj;
   private String mailContent;
   
   public MailSender(String mailTo, String mailSubj, String mailContent) {
      this.mailTo = mailTo;
      this.mailSubj = mailSubj;
      this.mailContent = mailContent;
   }
   
   @Override
   public void run() {
      new MailMsg( Setup.getSetup() ).sendMessage( this.mailTo, this.mailSubj, this.mailContent );
   }

}


Код:
...
Thread t = new Thread(new MailSender("_", "_", "_"));
t.start();
...

Автор:  Администратор [ 09 ноя 2015, 13:11 ]
Заголовок сообщения:  Re: Асинхронный запуск

Вынос длительной операции в поток - решение правильное.
Ну единственное можно посоветовать ещё - создать статический пул потоков ThreadPoolExecuter с ограниченном числом тредов. И уже передавать в него задания.

Автор:  Dog [ 20 ноя 2015, 16:35 ]
Заголовок сообщения:  Re: Асинхронный запуск

Администратор писал(а):
Вынос длительной операции в поток - решение правильное.
Ну единственное можно посоветовать ещё - создать статический пул потоков ThreadPoolExecuter с ограниченном числом тредов. И уже передавать в него задания.

а в самом CRM нет такого пула который можно использовать? чтобы не городить лишних?

Автор:  Администратор [ 21 ноя 2015, 03:10 ]
Заголовок сообщения:  Re: Асинхронный запуск

Нет. Зачем? Если он в Java уже есть и очень просто создаётся..
Вам подсказать с реализацией?

Автор:  Dog [ 21 ноя 2015, 12:34 ]
Заголовок сообщения:  Re: Асинхронный запуск

нет, спасибо, уже сделал :) просто думал уже готовое есть

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/