{"id":19435928,"url":"https://github.com/ralscha/wamp2spring","last_synced_at":"2025-09-21T00:37:55.798Z","repository":{"id":48798614,"uuid":"100295611","full_name":"ralscha/wamp2spring","owner":"ralscha","description":"WAMP 2 implementation for Spring 5","archived":false,"fork":false,"pushed_at":"2025-03-29T08:35:40.000Z","size":1522,"stargazers_count":32,"open_issues_count":2,"forks_count":7,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-29T09:28:08.333Z","etag":null,"topics":["java","spring","subprotocol","wamp","wamp-protocol","wamp-router","wamp-specification","websocket","websockets"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ralscha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-14T18:04:44.000Z","updated_at":"2025-03-29T08:35:43.000Z","dependencies_parsed_at":"2023-01-30T19:15:42.138Z","dependency_job_id":"38ca98b0-f3f9-4e8c-b042-6e37c91204e2","html_url":"https://github.com/ralscha/wamp2spring","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fwamp2spring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fwamp2spring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fwamp2spring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fwamp2spring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ralscha","download_url":"https://codeload.github.com/ralscha/wamp2spring/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250712877,"owners_count":21475093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","spring","subprotocol","wamp","wamp-protocol","wamp-router","wamp-specification","websocket","websockets"],"created_at":"2024-11-10T15:08:27.909Z","updated_at":"2025-09-21T00:37:50.732Z","avatar_url":"https://github.com/ralscha.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build Status](https://github.com/ralscha/wamp2spring/workflows/test/badge.svg)\r\n\r\n*wamp2spring* is a Java implementation of the [WAMP specification](http://wamp-proto.org/spec/) built on top of the WebSocket support of Spring 5.   \r\nWAMP is a WebSocket subprotocol that provides two application messaging patterns: Remote Procedure Calls and Publish / Subscribe. \r\n\r\n## Implementation\r\n*wamp2spring* implements the Basic Profile, but it does not support multiple realms in one application. \r\nEvery connection, registration and subscription exists in the same realm and *wamp2spring* ignores the realm \r\nparameter of the HELLO message.\r\n\r\nAdditionally *wamp2spring* implements a few features from the Advanced Profile:\r\n\r\n|Feature                      |Remark                                                                                                                                                    |\r\n|:----------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n|caller_identification        |disclose_me option in the CALL message. [Specification](http://wamp-proto.org/static/rfc/draft-oberstet-hybi-crossbar-wamp.html#rfc.section.14.3.5)                                               |\r\n|subscriber_blackwhite_listing|Exclude and include receivers with their WAMP session id. *Only eligible and exclude options are implemented.* [Specification](http://wamp-proto.org/static/rfc/draft-oberstet-hybi-crossbar-wamp.html#rfc.section.14.4.1).|\r\n|publisher_exclusion          |exclude_me option in the PUBLISH message. By default the publisher is excluded from receiving the EVENT message. [Specification](http://wamp-proto.org/static/rfc/draft-oberstet-hybi-crossbar-wamp.html#rfc.section.14.4.2)                                               |\r\n|publisher_identification     |disclose_me option in the PUBLISH message. [Specification](http://wamp-proto.org/static/rfc/draft-oberstet-hybi-crossbar-wamp.html#rfc.section.14.4.3)|\r\n|pattern_based_subscription   |Prefix- and wildcard matching policies for subscriptions. [Specification](http://wamp-proto.org/static/rfc/draft-oberstet-hybi-crossbar-wamp.html#rfc.section.14.4.6)                                               |\r\n|event_retention              |[Specification](https://github.com/wamp-proto/wamp-proto/blob/da34d9bd833beeb6f9cc8bc89faf8138d710aa78/rfc/text/advanced/ap_pubsub_event_retention.md)|\r\n\r\n**Dataformats**   \r\n*wamp2spring* supports JSON (wamp.2.json) and MessagePack (wamp.2.msgpack) required by the Basic Profile. In addition it\r\nsupports [CBOR](http://cbor.io/) (wamp.2.cbor) and [SMILE](https://en.wikipedia.org/wiki/Smile_(data_interchange_format)) (wamp.2.smile).\r\n\r\n\r\n**Fallback**   \r\nCurrently *wamp2spring* does not support a fallback solution when peers cannot establish \r\nWebSocket connections. [autobahn-js](https://github.com/crossbario/autobahn-js) implements a fallback with long polling. \r\nYou find the description about the protocol in the specification ([Section 14.5.3.3](http://wamp-proto.org/static/rfc/draft-oberstet-hybi-crossbar-wamp.html#rfc.section.14.5.3.3)).\r\nSo far I don't have a need for a fallback solution because WebSocket works fine especially when it's sent over TLS connections.\r\nBut when there is a need I will try to add this fallback solution. Pull requests are always welcome.\r\n\r\n\r\n## Quickstart\r\nSee [Wiki](https://github.com/ralscha/wamp2spring/wiki/Quickstart)\r\n\r\n## Maven\r\nSee [Wiki](https://github.com/ralscha/wamp2spring/wiki/Maven)\r\n\r\n## Example applications\r\nYou find a collection of example applications in the [wamp2spring-demo](https://github.com/ralscha/wamp2spring-demo) GitHub repository.\r\n\r\n\r\n## Changelog\r\n\r\nSee [Wiki](https://github.com/ralscha/wamp2spring/wiki/Changelog)\r\n\r\n\r\n## More information\r\nSee [Wiki](https://github.com/ralscha/wamp2spring/wiki/Links)\r\n\r\n  \r\n## License\r\nCode released under [the Apache license](http://www.apache.org/licenses/).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralscha%2Fwamp2spring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fralscha%2Fwamp2spring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralscha%2Fwamp2spring/lists"}