protected synchronized Notifier.Client getNotifier() throws AuthenticationException, SystemException, TException { if (_notifier == null) { // _transport = new TSocket(_url.getHost(), _url.getPort()); _transport = TSocketFactory.getInstance(((ThriftAppMgr) getManager())._serverPort + 1) .getTransport(getApplicationKey()); TBinaryProtocol binaryProtocol = new TBinaryProtocol(_transport); Notifier.Client notifier = new Notifier.Client(binaryProtocol); // _transport.open(); try { _token = notifier.bind(_url.getAuthority()); _notifier = notifier; LOG.info(notifier + " is connectioned to token=" + _token); } catch (BindException e) { // TODO: rebind } } return _notifier; }
public synchronized void dispose() { if (_calls != null) { for (Call call : _calls.values()) { call.hangup(); if (_notifier != null) { try { _notifier.hangup(_token, ((CallImpl) call).getId(), new HangupStruct()); } catch (Exception e) { // ignore } } } _calls = null; } if (_transport != null && _notifier != null) { try { _notifier.unbind(_token); } catch (Throwable t) { // ignore } _notifier = null; _transport.close(); } }