Skip to content

Features

Ralph Schaer edited this page Apr 28, 2026 · 2 revisions

Features

wamp2spring implements the WAMP basic profile and a meaningful subset of advanced profile features.

Basic profile

Core routing roles:

  • dealer for RPC
  • broker for publish/subscribe

Core protocol support:

  • session establishment through HELLO and WELCOME
  • a single shared routing scope without realm-based partitioning
  • registration, invocation, subscription, publication, and disconnect handling

Advanced dealer features

The current feature model includes support for dealer-side capabilities such as:

  • call_canceling
  • call_timeout
  • progressive_call_results
  • progressive_call_invocations
  • caller_identification
  • pattern_based_registration
  • shared_registration
  • sharded_registration
  • call_reroute
  • registration_meta_api
  • session_meta_api
  • testament_meta_api
  • registration_revocation

Advanced broker features

The broker feature model includes:

  • subscriber_blackwhite_listing
  • publisher_exclusion
  • publisher_identification
  • pattern_based_subscription
  • sharded_subscription
  • event_retention
  • event_history
  • session_meta_api
  • subscription_meta_api
  • subscription_revocation

Feature defaults

By default every supported feature is enabled when you use the standard @EnableServletWamp, @EnableReactiveWamp, or @EnableServletWampLongpoll configuration.

You can disable features through configureFeatures:

import org.springframework.context.annotation.Configuration;

import ch.rasc.wamp2spring.config.Feature;
import ch.rasc.wamp2spring.config.Features;
import ch.rasc.wamp2spring.servlet.WampServletConfigurer;

@Configuration
public class WampConfiguration implements WampServletConfigurer {

  @Override
  public void configureFeatures(Features features) {
    features.disable(Feature.BROKER_EVENT_RETENTION);
    features.disable(Feature.DEALER);
  }

}

Application-level integration points

Beyond protocol features, the current codebase provides:

  • @WampProcedure for binding Spring bean methods to procedures
  • @WampListener for binding Spring bean methods to topics
  • WampPublisher for server-side publication
  • WampAuthorizer for WAMP-level authorization decisions
  • WAMP authentication provider SPI for challenge/response and ticket-based authentication

Clone this wiki locally