Как установить тайм-аут в SMPP - PullRequest
0 голосов
/ 13 марта 2019

Кто-нибудь знает, как установить время ожидания при отправке сообщения (submit_sm) в SMSC?Я попытался установить значение receivetimeout (session.getReceiver (). SetReceiveTimeout) равным 6 секундам, но примерно через 30 секунд я все равно получил нулевой ответ.

Ниже приведены таймауты, которые я установил:

  • session.getReceiver (). SetReceiveTimeout (6000)
  • session.getReceiver (). SetQueueTimeout (6000)
  • TCPIPConnection.setCommsTimeout (5000)
  • TCPIPConnection.setReceiveTimeout (5000)

В настоящее время я использую OpenSMPP

TIA:)

1 Ответ

0 голосов
/ 12 апреля 2019

создайте новое будущее задание

public static class SubmitSMTask implements Callable<SubmitSMResp>{
    SubmitSM smRequest;
    Session sessionSend;

    public SubmitSMTask(Session sessionSend, SubmitSM smRequest) {
        this.sessionSend = sessionSend;
        this.smRequest = smRequest;
    }

    @Override
    public SubmitSMResp call() throws Exception {
        SubmitSMResp response = sessionSend.submit(smRequest);
        return response;
    }
}

и вызовите его.я использовал 100 мс в качестве таймаута

ExecutorService executor = Executors.newSingleThreadExecutor();
Future<SubmitSMResp> future = executor.submit(new SubmitSMTask(sessionSend, smRequest));
SubmitSMResp response = future.get(100, TimeUnit.MILLISECONDS);
smsId = response.getMessageId();
...