Platform SDK Java 8.5 API Reference

com.genesyslab.platform.webmedia.protocol
Class CallbackProtocolListener

java.lang.Object
  extended by com.genesyslab.platform.commons.protocol.AbstractChannel
      extended by com.genesyslab.platform.commons.protocol.ServerChannel
          extended by com.genesyslab.platform.webmedia.protocol.CallbackProtocolListener
All Implemented Interfaces:
AsyncChannel, AsyncInvokerSupport, Channel, ChannelListenerSupport, ConfigurationSupport, ConnectionInvokerSupport, EndpointSupport, OutputChannel, ProtocolDescriptionSupport, Receiver, ReceiverManagement, RequestReceiver, RequestReceiverManagement, ResponseChannel

public class CallbackProtocolListener
extends ServerChannel

Callback ServerChannel component for handling of Genesys Callback Server protocol clients.
Here is a simple example of synchronous server side procedure:

 int LISTEN_PORT = 7100;
 CallbackProtocolListener cbSrvChannel = new CallbackProtocolListener(
         new WildcardEndpoint("CallbackServer", LISTEN_PORT));
 cbSrvChannel.setClientRequestHandler(new ClientRequestHandler() {
         public void processRequest(final RequestContext context) {
             final Message request = context.getRequestMessage();
             Integer refId = null;
             if (request instanceof Referenceable) {
                 refId = (Integer) ((Referenceable) request).retreiveReference();
             }
             Message response = null;

             // Do handle the 'request' and create 'response' for it...

             if (response != null) {
                 if ((refId != null) && (response instanceof Referenceable)) {
                     ((Referenceable) response).updateReference(refId);
                 }
                 try {
                     context.respond(response);
                 } catch (final ProtocolException ex) {
                     // handle the exception
                 }
             }
         }});
 cbSrvChannel.open();
 
Note that it's also possible to do asynchronous server requests handling.
The RequestContext may be passed to some asynchronous task, and than handled and responded in a user defined executor service.

See Also:
CallbackProtocol

Nested Class Summary
 
Nested classes/interfaces inherited from class com.genesyslab.platform.commons.protocol.AbstractChannel
AbstractChannel.AsyncErrorNotifier
 
Field Summary
 
Fields inherited from interface com.genesyslab.platform.commons.protocol.Channel
DEFAULT_TIMEOUT, INFINITE_TIMEOUT
 
Fields inherited from interface com.genesyslab.platform.commons.protocol.Receiver
DEF_INPUT_SIZE
 
Constructor Summary
CallbackProtocolListener(Endpoint endpoint)
           
 
Method Summary
 
Methods inherited from class com.genesyslab.platform.commons.protocol.ServerChannel
addListener, applyConfiguration, beginClose, beginOpen, clearInput, close, close, closeClientChannels, closeListener, getChannels, getInputSize, getLocalEndPoint, getProtocolDescription, getProtocolFactory, modifyNewChannel, open, open, receive, receive, receiveRequest, receiveRequest, releaseReceivers, removeListener, resetReceiver, send, sendToChannelsExcept, sendToChannelsExcept, setClientRequestHandler, setInputSize, setReceiver
 
Methods inherited from class com.genesyslab.platform.commons.protocol.AbstractChannel
addChannelListener, configure, connectionContext, copyTLSSettings, createChannelClosedEvent, fireClosed, fireErrorEvent, fireErrorEvent, generateChannelId, getChannelId, getConfiguration, getDefaultInvoker, getEndpoint, getEnpointPrefixInfo, getInvoker, getListenerHelper, getLocalEndpointInfo, getServerContext, getState, getStateMods, getTimeout, internal, onFireClosed, onFireErrorEvent, onFireOpened, onSetEndpoint, releaseDefaultInvoker, removeChannelListener, setConfiguration, setConnectionInvoker, setEndpoint, setInvoker, setServerContext, setState, setState, setTimeout, throwNotClosed, throwNotOpened, throwNotOpenedOnClose, throwNotOpenedOnSend, throwNull, throwNullEndpoint
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.genesyslab.platform.commons.protocol.Channel
getTimeout, setTimeout
 
Methods inherited from interface com.genesyslab.platform.commons.protocol.AsyncChannel
getState
 
Methods inherited from interface com.genesyslab.platform.commons.protocol.ChannelListenerSupport
addChannelListener, removeChannelListener
 
Methods inherited from interface com.genesyslab.platform.commons.protocol.EndpointSupport
getEndpoint, setEndpoint
 
Methods inherited from interface com.genesyslab.platform.commons.protocol.ConfigurationSupport
configure, getConfiguration
 

Constructor Detail

CallbackProtocolListener

public CallbackProtocolListener(Endpoint endpoint)

Platform SDK Java 8.5 API Reference

Send comments on this topicTechpubs.webadmin@genesys.com.
Document version: 8.5.302.00
Copyright © 2006–2017 Genesys Telecommunications Laboratories, Inc. All rights reserved.