Class: VertxStomp::StompServerHandler
- Inherits:
-
Object
- Object
- VertxStomp::StompServerHandler
- Defined in:
- /Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb
Overview
STOMP server handler implements the behavior of the STOMP server when a specific event occurs. For instance, if
let customize the behavior when specific STOMP frames arrives or when a connection is closed. This class has been
designed to let you customize the server behavior. The default implementation is compliant with the STOMP
specification. In this default implementation, not acknowledge frames are dropped.
Class Method Summary (collapse)
-
+ (::VertxStomp::StompServerHandler) create(vertx = nil)
Creates an instance of StompServerHandler using the default (compliant) implementation.
Instance Method Summary (collapse)
-
- (self) abort_handler { ... }
Configures the action to execute when a ABORT frame is received.
-
- (self) ack_handler { ... }
Configures the action to execute when a ACK frame is received.
-
- (self) auth_provider(handler = nil)
Configures the to be used to authenticate the user.
-
- (self) begin_handler { ... }
Configures the action to execute when a BEGIN frame is received.
-
- (self) bridge(options = nil)
Configures the STOMP server to act as a bridge with the Vert.x event bus.
-
- (self) close_handler { ... }
Configures the action to execute when a connection with the client is closed.
-
- (self) commit_handler { ... }
Configures the action to execute when a COMMIT frame is received.
-
- (self) connect_handler { ... }
Configures the action to execute when a CONNECT frame is received.
-
- (self) destination_factory(factory = nil)
Configures the DestinationFactory used to create Destination objects.
-
- (self) disconnect_handler { ... }
Configures the action to execute when a DISCONNECT frame is received.
-
- (::VertxStomp::Destination) get_destination(destination = nil)
Gets the destination with the given name.
-
- (Array<::VertxStomp::Destination>) get_destinations
@return the list of destination managed by the STOMP server.
-
- (::VertxStomp::Destination) get_or_create_destination(destination = nil)
Gets a Destination object if existing, or create a new one.
- - (void) handle(arg0 = nil)
-
- (self) nack_handler { ... }
Configures the action to execute when a NACK frame is received.
-
- (self) on_ack(connection = nil, subscribe = nil, messages = nil)
Method called by single message (client-individual policy) or a set of message (client policy) are acknowledged.
-
- (self) on_ack_handler { ... }
Configures the action to execute when messages are acknowledged.
-
- (self) on_authentication_request(server = nil, login = nil, passcode = nil) { ... }
Called when the client connects to a server requiring authentication.
-
- (void) on_close(connection = nil)
Called when the connection is closed.
-
- (self) on_nack(connection = nil, subscribe = nil, messages = nil)
Method called by single message (client-individual policy) or a set of message (client policy) are not acknowledged.
-
- (self) on_nack_handler { ... }
Configures the action to execute when messages are not acknowledged.
-
- (self) ping_handler { ... }
Allows customizing the action to do when the server needs to send a `PING` to the client.
-
- (self) send_handler { ... }
Configures the action to execute when a SEND frame is received.
-
- (self) stomp_handler { ... }
Configures the action to execute when a STOMP frame is received.
-
- (self) subscribe_handler { ... }
Configures the action to execute when a SUBSCRIBE frame is received.
-
- (self) unsubscribe_handler { ... }
Configures the action to execute when a UNSUBSCRIBE frame is received.
Class Method Details
+ (::VertxStomp::StompServerHandler) create(vertx = nil)
Creates an instance of VertxStomp::StompServerHandler using the default (compliant) implementation.
38 39 40 41 42 43 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 38 def self.create(vertx=nil) if vertx.class.method_defined?(:j_del) && !block_given? return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtStomp::StompServerHandler.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(vertx.j_del),::VertxStomp::StompServerHandler) end raise ArgumentError, "Invalid arguments when calling create(vertx)" end |
Instance Method Details
- (self) abort_handler { ... }
Configures the action to execute when a
ABORT
frame is received.
127 128 129 130 131 132 133 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 127 def abort_handler if block_given? @j_del.java_method(:abortHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling abort_handler()" end |
- (self) ack_handler { ... }
Configures the action to execute when a
ACK
frame is received.
157 158 159 160 161 162 163 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 157 def ack_handler if block_given? @j_del.java_method(:ackHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling ack_handler()" end |
- (self) auth_provider(handler = nil)
Configures the to be used to authenticate the user.
191 192 193 194 195 196 197 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 191 def auth_provider(handler=nil) if handler.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:authProvider, [Java::IoVertxExtAuth::AuthProvider.java_class]).call(handler.j_del) return self end raise ArgumentError, "Invalid arguments when calling auth_provider(handler)" end |
- (self) begin_handler { ... }
Configures the action to execute when a
BEGIN
frame is received.
137 138 139 140 141 142 143 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 137 def begin_handler if block_given? @j_del.java_method(:beginHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling begin_handler()" end |
- (self) bridge(options = nil)
Configures the STOMP server to act as a bridge with the Vert.x event bus.
301 302 303 304 305 306 307 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 301 def bridge(=nil) if .class == Hash && !block_given? @j_del.java_method(:bridge, [Java::IoVertxExtStomp::BridgeOptions.java_class]).call(Java::IoVertxExtStomp::BridgeOptions.new(::Vertx::Util::Utils.to_json_object())) return self end raise ArgumentError, "Invalid arguments when calling bridge(options)" end |
- (self) close_handler { ... }
Configures the action to execute when a connection with the client is closed.
97 98 99 100 101 102 103 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 97 def close_handler if block_given? @j_del.java_method(:closeHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::StompServerConnection)) })) return self end raise ArgumentError, "Invalid arguments when calling close_handler()" end |
- (self) commit_handler { ... }
Configures the action to execute when a
COMMIT
frame is received.
117 118 119 120 121 122 123 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 117 def commit_handler if block_given? @j_del.java_method(:commitHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling commit_handler()" end |
- (self) connect_handler { ... }
Configures the action to execute when a
CONNECT
frame is received.
47 48 49 50 51 52 53 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 47 def connect_handler if block_given? @j_del.java_method(:connectHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling connect_handler()" end |
- (self) destination_factory(factory = nil)
Configures the DestinationFactory used to create Destination objects.
291 292 293 294 295 296 297 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 291 def destination_factory(factory=nil) if factory.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:destinationFactory, [Java::IoVertxExtStomp::DestinationFactory.java_class]).call(factory.j_del) return self end raise ArgumentError, "Invalid arguments when calling destination_factory(factory)" end |
- (self) disconnect_handler { ... }
Configures the action to execute when a
DISCONNECT
frame is received.
147 148 149 150 151 152 153 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 147 def disconnect_handler if block_given? @j_del.java_method(:disconnectHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling disconnect_handler()" end |
- (::VertxStomp::Destination) get_destination(destination = nil)
Gets the destination with the given name.
210 211 212 213 214 215 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 210 def get_destination(destination=nil) if destination.class == String && !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:getDestination, [Java::java.lang.String.java_class]).call(destination),::VertxStomp::Destination) end raise ArgumentError, "Invalid arguments when calling get_destination(destination)" end |
- (Array<::VertxStomp::Destination>) get_destinations
@return the list of destination managed by the STOMP server. Don't forget the STOMP interprets destination as
opaque Strings.
201 202 203 204 205 206 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 201 def get_destinations if !block_given? return @j_del.java_method(:getDestinations, []).call().to_a.map { |elt| ::Vertx::Util::Utils.safe_create(elt,::VertxStomp::Destination) } end raise ArgumentError, "Invalid arguments when calling get_destinations()" end |
- (::VertxStomp::Destination) get_or_create_destination(destination = nil)
Gets a Destination object if existing, or create a new one. The creation is delegated to the
DestinationFactory.
282 283 284 285 286 287 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 282 def get_or_create_destination(destination=nil) if destination.class == String && !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:getOrCreateDestination, [Java::java.lang.String.java_class]).call(destination),::VertxStomp::Destination) end raise ArgumentError, "Invalid arguments when calling get_or_create_destination(destination)" end |
- (void) handle(arg0 = nil)
This method returns an undefined value.
29 30 31 32 33 34 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 29 def handle(arg0=nil) if arg0.class.method_defined?(:j_del) && !block_given? return @j_del.java_method(:handle, [Java::IoVertxExtStomp::ServerFrame.java_class]).call(arg0.j_del) end raise ArgumentError, "Invalid arguments when calling handle(arg0)" end |
- (self) nack_handler { ... }
Configures the action to execute when a
NACK
frame is received.
167 168 169 170 171 172 173 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 167 def nack_handler if block_given? @j_del.java_method(:nackHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling nack_handler()" end |
- (self) on_ack(connection = nil, subscribe = nil, messages = nil)
Method called by single message (client-individual policy) or a set of message (client policy) are acknowledged.
Implementations must call the handler configured using #on_ack_handler.
222 223 224 225 226 227 228 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 222 def on_ack(connection=nil,subscribe=nil,=nil) if connection.class.method_defined?(:j_del) && subscribe.class == Hash && .class == Array && !block_given? @j_del.java_method(:onAck, [Java::IoVertxExtStomp::StompServerConnection.java_class,Java::IoVertxExtStomp::Frame.java_class,Java::JavaUtil::List.java_class]).call(connection.j_del,Java::IoVertxExtStomp::Frame.new(::Vertx::Util::Utils.to_json_object(subscribe)),.map { |element| Java::IoVertxExtStomp::Frame.new(::Vertx::Util::Utils.to_json_object(element)) }) return self end raise ArgumentError, "Invalid arguments when calling on_ack(connection,subscribe,messages)" end |
- (self) on_ack_handler { ... }
Configures the action to execute when messages are acknowledged.
247 248 249 250 251 252 253 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 247 def on_ack_handler if block_given? @j_del.java_method(:onAckHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::Acknowledgement)) })) return self end raise ArgumentError, "Invalid arguments when calling on_ack_handler()" end |
- (self) on_authentication_request(server = nil, login = nil, passcode = nil) { ... }
Called when the client connects to a server requiring authentication. It invokes the configured
using #auth_provider.
181 182 183 184 185 186 187 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 181 def on_authentication_request(server=nil,login=nil,passcode=nil) if server.class.method_defined?(:j_del) && login.class == String && passcode.class == String && block_given? @j_del.java_method(:onAuthenticationRequest, [Java::IoVertxExtStomp::StompServer.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(server.j_del,login,passcode,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) })) return self end raise ArgumentError, "Invalid arguments when calling on_authentication_request(server,login,passcode)" end |
- (void) on_close(connection = nil)
This method returns an undefined value.
Called when the connection is closed. This method executes a default behavior and must calls the configured #close_handler if any.
108 109 110 111 112 113 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 108 def on_close(connection=nil) if connection.class.method_defined?(:j_del) && !block_given? return @j_del.java_method(:onClose, [Java::IoVertxExtStomp::StompServerConnection.java_class]).call(connection.j_del) end raise ArgumentError, "Invalid arguments when calling on_close(connection)" end |
- (self) on_nack(connection = nil, subscribe = nil, messages = nil)
Method called by single message (client-individual policy) or a set of message (client policy) are
not acknowledged. Not acknowledgment can result from a
NACK
frame or from a timeout (no
ACK
frame received in a given time. Implementations must call the handler configured using
#on_nack_handler.
237 238 239 240 241 242 243 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 237 def on_nack(connection=nil,subscribe=nil,=nil) if connection.class.method_defined?(:j_del) && subscribe.class == Hash && .class == Array && !block_given? @j_del.java_method(:onNack, [Java::IoVertxExtStomp::StompServerConnection.java_class,Java::IoVertxExtStomp::Frame.java_class,Java::JavaUtil::List.java_class]).call(connection.j_del,Java::IoVertxExtStomp::Frame.new(::Vertx::Util::Utils.to_json_object(subscribe)),.map { |element| Java::IoVertxExtStomp::Frame.new(::Vertx::Util::Utils.to_json_object(element)) }) return self end raise ArgumentError, "Invalid arguments when calling on_nack(connection,subscribe,messages)" end |
- (self) on_nack_handler { ... }
Configures the action to execute when messages are not acknowledged.
257 258 259 260 261 262 263 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 257 def on_nack_handler if block_given? @j_del.java_method(:onNackHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::Acknowledgement)) })) return self end raise ArgumentError, "Invalid arguments when calling on_nack_handler()" end |
- (self) ping_handler { ... }
Allows customizing the action to do when the server needs to send a `PING` to the client. By default it send a
frame containing
EOL
(specification). However, you can customize this and send another frame. However,
be aware that this may requires a custom client.
The handler will only be called if the connection supports heartbeats.
271 272 273 274 275 276 277 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 271 def ping_handler if block_given? @j_del.java_method(:pingHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::StompServerConnection)) })) return self end raise ArgumentError, "Invalid arguments when calling ping_handler()" end |
- (self) send_handler { ... }
Configures the action to execute when a
SEND
frame is received.
87 88 89 90 91 92 93 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 87 def send_handler if block_given? @j_del.java_method(:sendHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling send_handler()" end |
- (self) stomp_handler { ... }
Configures the action to execute when a
STOMP
frame is received.
57 58 59 60 61 62 63 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 57 def stomp_handler if block_given? @j_del.java_method(:stompHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling stomp_handler()" end |
- (self) subscribe_handler { ... }
Configures the action to execute when a
SUBSCRIBE
frame is received.
67 68 69 70 71 72 73 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 67 def subscribe_handler if block_given? @j_del.java_method(:subscribeHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling subscribe_handler()" end |
- (self) unsubscribe_handler { ... }
Configures the action to execute when a
UNSUBSCRIBE
frame is received.
77 78 79 80 81 82 83 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 77 def unsubscribe_handler if block_given? @j_del.java_method(:unsubscribeHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::VertxStomp::ServerFrame)) })) return self end raise ArgumentError, "Invalid arguments when calling unsubscribe_handler()" end |