Scottmitch / jetty-alpn-agent

Enables Jetty ALPN/NPN support via -javaagent JVM option

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jetty-alpn-agent

jetty-alpn-agent is a JVM agent that enables TLS ALPN (or NPN) extension support for Java 7 and 8 by loading the correct Jetty alpn-boot (or npn-boot) JAR file for the current Java version.

Usage

Specify the path to the agent JAR file with a -javaagent option:

java -javaagent:<path/to/jetty-alpn-agent.jar> ...

To use NPN instead of ALPN, specify the forceNpn=true option:

java -javaagent:<path/to/jetty-alpn-agent.jar=forceNpn=true ...

Using with Maven

Use maven-dependency-plugin to fetch the agent JAR and add the path to the downloaded agent JAR to the command line arguments:

<project>
  <properties>
    <jetty.alpnAgent.version>1.0.0.Final</jetty.alpnAgent.version>
    <jetty.alpnAgent.path>${settings.localRepository}/kr/motd/javaagent/jetty-alpn-agent/${jetty.alpnAgent.version}/jetty-alpn-agent-${jetty.alpnAgent.version}.jar</jetty.alpnAgent.path>
  </properties>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>get-jetty-alpn-agent</id>
            <phase>validate</phase>
            <goals>
              <goal>get</goal>
            </goals>
            <configuration>
              <groupId>kr.motd.javaagent</groupId>
              <artifactId>jetty-alpn-agent</artifactId>
              <version>${jetty.alpnAgent.version}</version>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
          <argLine>-javaagent:${jetty.alpnAgent.path}</argLine>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Additional resources

For more information, please refer to the following resources:

Legal stuff

This product is licensed under Apache License 2.0.

This product redistributes the original alpn-boot and npn-boot JARs, which are licensed under GPLv2 with classpath exception, whose source code is located at:

About

Enables Jetty ALPN/NPN support via -javaagent JVM option

License:Apache License 2.0


Languages

Language:Java 100.0%