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.
Constant Summary
- @@j_api_type =
Object.new
Class Method Summary (collapse)
- + (Boolean) accept?(obj)
-
+ (::VertxStomp::StompServerHandler) create(vertx = nil)
Creates an instance of StompServerHandler using the default (compliant) implementation.
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
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
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) received_frame_handler { ... }
Configures a handler that get notified when a STOMP frame is received by the server.
-
- (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
+ (Boolean) accept?(obj)
28 29 30 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 28 def @@j_api_type.accept?(obj) obj.class == StompServerHandler end |
+ (::VertxStomp::StompServerHandler) create(vertx = nil)
Creates an instance of VertxStomp::StompServerHandler using the default (compliant) implementation.
54 55 56 57 58 59 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 54 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 |
+ (Object) j_api_type
37 38 39 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 37 def self.j_api_type @@j_api_type end |
+ (Object) j_class
40 41 42 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 40 def self.j_class Java::IoVertxExtStomp::StompServerHandler.java_class end |
+ (Object) unwrap(obj)
34 35 36 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 34 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
31 32 33 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 31 def @@j_api_type.wrap(obj) StompServerHandler.new(obj) end |
Instance Method Details
- (self) abort_handler { ... }
Configures the action to execute when a
ABORT
frame is received.
154 155 156 157 158 159 160 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 154 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.
184 185 186 187 188 189 190 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 184 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.
218 219 220 221 222 223 224 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 218 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.
164 165 166 167 168 169 170 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 164 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.
326 327 328 329 330 331 332 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 326 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(#{})" end |
- (self) close_handler { ... }
Configures the action to execute when a connection with the client is closed.
124 125 126 127 128 129 130 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 124 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.
144 145 146 147 148 149 150 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 144 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.
74 75 76 77 78 79 80 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 74 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.
316 317 318 319 320 321 322 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 316 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.
174 175 176 177 178 179 180 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 174 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.
235 236 237 238 239 240 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 235 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
Returns the list of destination managed by the STOMP server. Don't forget the STOMP interprets destination as opaque Strings.
226 227 228 229 230 231 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 226 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.
307 308 309 310 311 312 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 307 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.
45 46 47 48 49 50 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 45 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.
194 195 196 197 198 199 200 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 194 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.
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(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},#{})" end |
- (self) on_ack_handler { ... }
Configures the action to execute when messages are acknowledged.
272 273 274 275 276 277 278 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 272 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.
208 209 210 211 212 213 214 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 208 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.
135 136 137 138 139 140 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 135 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.
262 263 264 265 266 267 268 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 262 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},#{})" end |
- (self) on_nack_handler { ... }
Configures the action to execute when messages are not acknowledged.
282 283 284 285 286 287 288 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 282 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.
296 297 298 299 300 301 302 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 296 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) received_frame_handler { ... }
Configures a handler that get notified when a STOMP frame is received by the server.
This handler can be used for logging, debugging or ad-hoc behavior.
64 65 66 67 68 69 70 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 64 def received_frame_handler if block_given? @j_del.java_method(:receivedFrameHandler, [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 received_frame_handler()" end |
- (self) send_handler { ... }
Configures the action to execute when a
SEND
frame is received.
114 115 116 117 118 119 120 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 114 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.
84 85 86 87 88 89 90 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 84 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.
94 95 96 97 98 99 100 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 94 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.
104 105 106 107 108 109 110 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 104 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 |