https://github.com/morgwai/servlet-scopes-connection-proxy-tyrus
Tyrus connection proxy for websocket scopes that provides unified, websocket API compliant access to clustered websocket connections
https://github.com/morgwai/servlet-scopes-connection-proxy-tyrus
Last synced: 4 months ago
JSON representation
Tyrus connection proxy for websocket scopes that provides unified, websocket API compliant access to clustered websocket connections
- Host: GitHub
- URL: https://github.com/morgwai/servlet-scopes-connection-proxy-tyrus
- Owner: morgwai
- License: apache-2.0
- Created: 2024-01-11T08:33:02.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-20T14:42:29.000Z (over 1 year ago)
- Last Synced: 2025-01-19T10:43:07.456Z (6 months ago)
- Language: Java
- Size: 40 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tyrus connection proxy for Servlet and Websocket Guice Scopes
An extension for [servlet-scopes](https://github.com/morgwai/servlet-scopes) lib, that provides unified, websocket API compliant access to clustered websocket connections and properties: [getOpenSessions()](https://javadoc.io/static/jakarta.websocket/jakarta.websocket-api/2.0.0/jakarta/websocket/Session.html#getOpenSessions--) will return the sum of both local and remote connections from other nodes (ie sum of Sets returned by [TyrusSession.getOpenSessions()](https://eclipse-ee4j.github.io/tyrus-project.github.io/apidocs/latest20x/org/glassfish/tyrus/core/TyrusSession.html#getOpenSessions()) and [TyrusSession.getRemoteSessions](https://eclipse-ee4j.github.io/tyrus-project.github.io/apidocs/latest20x/org/glassfish/tyrus/core/TyrusSession.html#getRemoteSessions())), while [getUserProperties()](https://javadoc.io/static/jakarta.websocket/jakarta.websocket-api/2.0.0/jakarta/websocket/Session.html#getUserProperties--) will return [TyrusSession.getDistributedProperties()](https://eclipse-ee4j.github.io/tyrus-project.github.io/apidocs/latest20x/org/glassfish/tyrus/core/TyrusSession.html#getDistributedProperties()). This means that **all stored properties should be `Serializable`** or else nothing will be transferred between nodes.
Copyright 2024 Piotr Morgwai Kotarbinski, Licensed under the Apache License, Version 2.0
**latest release: 15.0**
[javax flavor](https://search.maven.org/artifact/pl.morgwai.base/servlet-scopes-connection-proxy-tyrus/15.0-javax/jar)
([javadoc](https://javadoc.io/doc/pl.morgwai.base/servlet-scopes-connection-proxy-tyrus/15.0-javax))
[jakarta flavor](https://search.maven.org/artifact/pl.morgwai.base/servlet-scopes-connection-proxy-tyrus/15.0-jakarta/jar)
([javadoc](https://javadoc.io/doc/pl.morgwai.base/servlet-scopes-connection-proxy-tyrus/15.0-jakarta))## USAGE
Simply add [servlet-scopes-connection-proxy-tyrus.jar](https://search.maven.org/artifact/pl.morgwai.base/servlet-scopes-connection-proxy-tyrus/) to your runtime classpath and everything will happen automagically thanks to the SPI mechanism.
Note: the **major** version of the jar should match the one of `servlet-scopes`.