public static Platform buildIfSupported() { // Find Jetty's ALPN extension for OpenJDK. try { String alpnClassName = "org.eclipse.jetty.alpn.ALPN"; Class<?> alpnClass = Class.forName(alpnClassName); Class<?> providerClass = Class.forName(alpnClassName + "$Provider"); Class<?> clientProviderClass = Class.forName(alpnClassName + "$ClientProvider"); Class<?> serverProviderClass = Class.forName(alpnClassName + "$ServerProvider"); Method putMethod = alpnClass.getMethod("put", SSLSocket.class, providerClass); Method getMethod = alpnClass.getMethod("get", SSLSocket.class); Method removeMethod = alpnClass.getMethod("remove", SSLSocket.class); return new Jdk8WithJettyBootPlatform( putMethod, getMethod, removeMethod, clientProviderClass, serverProviderClass); } catch (ClassNotFoundException | NoSuchMethodException ignored) { } return null; }
public static Platform buildIfSupported() { // Find Jetty's ALPN extension for OpenJDK. try { String alpnClassName = "org.eclipse.jetty.alpn.ALPN"; Class<?> alpnClass = Class.forName(alpnClassName); Class<?> providerClass = Class.forName(alpnClassName + "$Provider"); Class<?> clientProviderClass = Class.forName(alpnClassName + "$ClientProvider"); Class<?> serverProviderClass = Class.forName(alpnClassName + "$ServerProvider"); Method putMethod = alpnClass.getMethod("put", SSLSocket.class, providerClass); Method getMethod = alpnClass.getMethod("get", SSLSocket.class); Method removeMethod = alpnClass.getMethod("remove", SSLSocket.class); return new Jdk8WithJettyBootPlatform( putMethod, getMethod, removeMethod, clientProviderClass, serverProviderClass); } catch (ClassNotFoundException | NoSuchMethodException ignored) { } return null; }