如何在SMPP中设置超时

问题描述 投票:0回答:1

任何人都知道如何在向SMSC提交消息(submit_sm)时设置超时?我试图将receivetimeout(session.getReceiver()。setReceiveTimeout)设置为6秒,但是在大约30秒后我仍然得到空响应。

以下是我设置的超时时间:

  • session.getReceiver()。setReceiveTimeout(6000)
  • session.getReceiver()。setQueueTimeout(6000)
  • TCPIPConnection.setCommsTimeout(5000)
  • TCPIPConnection.setReceiveTimeout(5000)

目前我正在使用OpenSMPP

TIA :)

java timeout smpp opensmpp
1个回答
0
投票

做出新的未来任务

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();
© www.soinside.com 2019 - 2024. All rights reserved.