Class ProducerHandler

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, org.eclipse.jetty.websocket.api.WebSocketConnectionListener, org.eclipse.jetty.websocket.api.WebSocketListener

    public class ProducerHandler
    extends AbstractWebSocketHandler
    Websocket end-point url handler to handle incoming message coming from client. Websocket end-point url handler to handle incoming message coming from client.

    On every produced message from client it calls broker to persists it.

    • Field Detail

      • ENTRY_LATENCY_BUCKETS_USEC

        public static final java.util.List<java.lang.Long> ENTRY_LATENCY_BUCKETS_USEC
    • Constructor Detail

      • ProducerHandler

        public ProducerHandler​(WebSocketService service,
                               javax.servlet.http.HttpServletRequest request,
                               org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • onWebSocketText

        public void onWebSocketText​(java.lang.String message)
        Specified by:
        onWebSocketText in interface org.eclipse.jetty.websocket.api.WebSocketListener
        Overrides:
        onWebSocketText in class org.eclipse.jetty.websocket.api.WebSocketAdapter
      • getProducer

        public org.apache.pulsar.client.api.Producer<byte[]> getProducer()
      • getAndResetNumMsgsSent

        public long getAndResetNumMsgsSent()
      • getAndResetNumBytesSent

        public long getAndResetNumBytesSent()
      • getAndResetNumMsgsFailed

        public long getAndResetNumMsgsFailed()
      • getAndResetPublishLatencyStatsUSec

        public long[] getAndResetPublishLatencyStatsUSec()
      • getPublishLatencyStatsUSec

        public StatsBuckets getPublishLatencyStatsUSec()
      • getMsgPublishedCounter

        public long getMsgPublishedCounter()
      • isAuthorized

        protected java.lang.Boolean isAuthorized​(java.lang.String authRole,
                                                 org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)
                                          throws java.lang.Exception
        Specified by:
        isAuthorized in class AbstractWebSocketHandler
        Throws:
        java.lang.Exception
      • getProducerBuilder

        protected org.apache.pulsar.client.api.ProducerBuilder<byte[]> getProducerBuilder​(org.apache.pulsar.client.api.PulsarClient client)