-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebSocketCoreSession leaks into JPMS exported classes #4226
Comments
@gregw @lachlan-roberts it's not clear to me if you want If so, then Jetty WebSocket |
@sbordet @lachlan-roberts @joakime the intention is for core to be hidden from users of the javax and jetty websocket API packages. The problem is extensions, as they have not been clearly put into either the implementation nor API camps. I believe that the implementation of extensions should be an implementation matter and not exposed to regular users of the APIs. API users may select and/or configure extensions - but should do so using only native based APIs rather dependencies on core. However, some users will want to write their own extensions, in which case they should be required to have an explicit dependency on core. Also, it may be that some APIs might define their own extension APIs (dumb idea but they might), in which case those APIs need to be implemented using core, but not exposing core. |
@gregw the problem is not only extensions. Core classes are leaked in signatures of major Jetty WebSocket classes. A user that wants to use Jetty WebSocket classes embedded with JPMS will have to That may be perfectly fine. However, if we want to keep core hidden to Jetty WebSocket users, then we should avoid leaking of core classes. If, instead, we don't want to hide core classes, then this issue can be closed without doing anything. |
We want to hide core. It's implementation not API.
…On Mon, 21 Oct 2019, 08:16 Simone Bordet, ***@***.***> wrote:
@gregw <https://github.com/gregw> the problem is not only extensions.
Core classes are leaked in signatures of major Jetty WebSocket classes.
A user that wants to use Jetty WebSocket classes embedded with JPMS will
have to requires org.eclipse.jetty.websocket.core in its JPMS module.
That may be perfectly fine.
However, if we want to keep core hidden to Jetty WebSocket users, then we
should avoid leaking of core classes.
If, instead, we don't want to hide core classes, then this issue can be
closed without doing anything.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4226>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAARJLKO4TVUY3J32BLYD7DQPTDELANCNFSM4JCVWVPA>
.
|
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
…tJPMS Issue #4226 - fix JPMS issues with javax websockets
WebSocketCoreSession
is in aninternal
package that is not exported by its JPMS module.However,
Extension
andAbstractExtension
, which are JPMS exported classes, haveWebSocketCoreSession
in method signatures, which means that it needs to be visible.These classes need to be restructured so that they have the proper JPMS visibility.
The text was updated successfully, but these errors were encountered: