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.
-
- (::VertxAuthCommon::User) get_user_by_session(session = nil)
Provides for authorization matches on a destination level, this will return the User created by the .
- - (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(connection = 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.
227 228 229 230 231 232 233 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 227 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.
335 336 337 338 339 340 341 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 335 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.
325 326 327 328 329 330 331 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 325 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.
244 245 246 247 248 249 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 244 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.
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_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.
316 317 318 319 320 321 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 316 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 |
- (::VertxAuthCommon::User) get_user_by_session(session = nil)
Provides for authorization matches on a destination level, this will return the User created by the .
218 219 220 221 222 223 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 218 def get_user_by_session(session=nil) if session.class == String && !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:getUserBySession, [Java::java.lang.String.java_class]).call(session),::VertxAuthCommon::User) end raise ArgumentError, "Invalid arguments when calling get_user_by_session(#{session})" 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.
256 257 258 259 260 261 262 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 256 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.
281 282 283 284 285 286 287 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 281 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(connection = 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(connection=nil,login=nil,passcode=nil) if connection.class.method_defined?(:j_del) && login.class == String && passcode.class == String && block_given? @j_del.java_method(:onAuthenticationRequest, [Java::IoVertxExtStomp::StompServerConnection.java_class,Java::java.lang.String.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(connection.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(#{connection},#{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.
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 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.
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 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.
305 306 307 308 309 310 311 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx-stomp/stomp_server_handler.rb', line 305 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 |