[wildfly-dev] ALPN support
Kabir Khan
kabir.khan at jboss.com
Wed Jan 14 03:39:26 EST 2015
> On 14 Jan 2015, at 00:01, Stuart Douglas <stuart.w.douglas at gmail.com> wrote:
>
>
>
> On Wed Jan 14 2015 at 1:54:34 AM Brian Stansberry <brian.stansberry at redhat.com> wrote:
> On 1/11/15 8:00 PM, Stuart Douglas wrote:
> > So I guess the real issue for domain mode is how we actually tell the
> > configured servers to use the ALPN jar, especially given that this
> > situation will likely be temporary, and not be required for Java 9+.
> >
> > One option could be that if the -alpn option is passed to the host
> > controller on boot then all servers that it spawns will also have alpn
> > on the boot class path, but that just seems really hacky.
> >
>
> The launcher stuff that James has done is meant to allow mirroring of
> our script behavior via a java API. So if we're adding stuff like this
> into the scripts it should go into the launcher too. Otherwise tools
> can't replicate script behavior. At least not without coding it up
> themselves.
>
> If it's in the launcher API it's not that hacky to pass the flag through
> to the HC process so it knows to use it.
>
> The whole thing is quite yuck though so (no offense meant) so I feel
> squeamish advocating putting it in the launcher API.
>
> Yea, this whole thing is really yuck.
>
>
> > Another option would be to just require the user to setup the correct
> > -Xbootclasspath option manually in the JVM arguments. This is not very
> > user friendly though.
> >
>
> A third yuck option is to use RuntimeMXBean.getBootClassPath() and do
> hackery to identify "foreign" stuff, and then have the PC use that when
> creating the HC process and have the HC use it when creating server
> processes. But I like just having people configure it better. It's a
> pretty edgy case and it falls within the parameters of how a jvm config
> is meant to be used.
>
> I think the bigger question is whether this ends up in the launcher API.
>
> I would rather it didn't, especially because this will hopefully all be unnecessary once Java 9 comes out.
>
> So now I am thinking we just document how to set this up, and once Java 9 is out and we support their new ALPN API we just require Java 9 for HTTP2 support.
Or add it to the launcher API but deprecate the methods to do so right away?
>
> Stuart
>
>
> > Stuart
> >
> > On Wed Jan 07 2015 at 2:39:27 PM Jason T. Greene
> > <jason.greene at redhat.com <mailto:jason.greene at redhat.com>> wrote:
> >
> > We should probably download these jars using a directory or file
> > name convention that is associated with the particular jvm version.
> > That way it becomes easy to support multiple jvm version
> > environments which is very common (both in domain and standalone).
> >
> > In domain mode we could have the host controller bootstrap follow
> > the same approach as standalone. For domain server configured jvms
> > we could reuse the logic as part of the JVM argument building process.
> >
> > On Jan 6, 2015, at 7:20 PM, Stuart Douglas
> > <stuart.w.douglas at gmail.com <mailto:stuart.w.douglas at gmail.com>> wrote:
> >
> >> Hi all,
> >> Both SPDY and the upcoming HTTP2 protocol require the use of an
> >> SSL extension called ALPN (Application Layer Protocol
> >> Negotiation). Unfortunately this is not supported in current JDK's
> >> (it should appear in JDK9), so the only way to support these
> >> protocols in Java at the moment is to modify the boot class path
> >> and override the JDK SSL classes to add support for this.
> >>
> >> In practice this means add jetty-alpn-boot.jar to the boot class
> >> path, however the exact version of the jar that is required
> >> depends on the JVM version, which means we can't just ship a jar
> >> and add the boot class path stuff to our startup scripts.
> >>
> >> I have come up with a proof on concept[1] for how to deal with
> >> this, that will download the appropriate ALPN jar for the current
> >> server if -alpn is passed to the startup script, however we still
> >> need some way to handle this in domain mode, where we need to make
> >> sure the servers are all started with the appropriate parameter
> >> (worst case we could just require users to install the appropriate
> >> JAR themselves, and then set the appropriate JAVA_OPTS).
> >>
> >> Hopefully the need for this will go away with Java 9, so I am not
> >> sure how much effort we should spend dealing with this.
> >>
> >> Does anyone have any thoughts on this?
> >>
> >> Stuart
> >>
> >> [1]
> >> https://github.com/stuartwdouglas/wildfly-core/compare/wildfly:master...stuartwdouglas:alpn
> >> _______________________________________________
> >> wildfly-dev mailing list
> >> wildfly-dev at lists.jboss.org <mailto:wildfly-dev at lists.jboss.org>
> >> https://lists.jboss.org/mailman/listinfo/wildfly-dev
> >
> >
> >
> > _______________________________________________
> > wildfly-dev mailing list
> > wildfly-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/wildfly-dev
> >
>
>
> --
> Brian Stansberry
> Senior Principal Software Engineer
> JBoss by Red Hat
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
More information about the wildfly-dev
mailing list