Hi Tobias, Please check https://git1-us-west.apache.org/repos/asf?p=wicket.git;a=commit;h=5c06a916 You will have to finish the impl of Jetty9PushBuilder. I wasn't able to find the jetty Maven dependency to make it building.
Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Sat, Jul 2, 2016 at 1:53 PM, Martin Grigorov <[email protected]> wrote: > Hi Tobias, > > I'm working on it! > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Sat, Jul 2, 2016 at 1:35 AM, Tobias Soloschenko < > [email protected]> wrote: > >> Hi Martin, >> >> I prepared the structure a bit: >> >> >> https://github.com/apache/wicket/commit/eb730f2979dab6c937e87cefbbe84167cc5546e1 >> >> - wicket-experimental >> --- wicket-http2 >> ------ wicket-http2-core >> ------ wicket-http2-jetty >> ------ wicket-http2-tomcat >> >> * -core is providing the basic header item and make use of the >> IInitializers >> * -jetty, -tomcat, etc. are the implementations for the servers (I would >> suggest to use the maven dependencies but set them to provided so that >> there is no conflict within the running server.) >> >> Branch: "WICKET-6194" >> >> If you check it out there will be a compile error because of the line >> which is going to use the IInitializers callback to make use of the vendor >> specific PushBuilder API. >> >> >> https://github.com/apache/wicket/blob/eb730f2979dab6c937e87cefbbe84167cc5546e1/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java#L77 >> >> Can you give me a hint how to implement the IInitializers? >> >> kind regards >> >> Tobias >> >> Am 30.06.16 um 09:40 schrieb Martin Grigorov: >> >> I can add the Tomcat impl and docs how to setup Tomcat 8.5+ with HTTP2. >>> >>> Martin Grigorov >>> Wicket Training and Consulting >>> https://twitter.com/mtgrigorov >>> >>> On Wed, Jun 29, 2016 at 6:27 PM, Tobias Soloschenko < >>> [email protected]> wrote: >>> >>> Jep - would be great until the servlet 4 API reaches the final state. >>>> >>>> I already reduced the usage of the container specific calls to one line. >>>> This line can be delegated to the IInitialzer class. >>>> >>>> I hope tomcat and other servers are implementing the PushBuilder API >>>> similar. If yes it is rather easy to create such an integration. >>>> >>>> kind regards >>>> >>>> Tobias >>>> >>>> Am 29.06.2016 um 17:41 schrieb Martin Grigorov <[email protected]>: >>>>> >>>>> Hi, >>>>> >>>>> What do you think about introducing PushBuilder-like API in >>>>> Wicket-core ? >>>>> The default implementation wil justl log warnings. >>>>> If an application wants to make use of this new functionality then it >>>>> >>>> will >>>> >>>>> have to add an additional jar to the classpath, e.g. >>>>> wicketstuff-pushbuilder-jetty9.jar, that will replace the default >>>>> >>>> strategy >>>> >>>>> (with IInitializer) with one that knows how to use Jetty9 internals. >>>>> Same >>>>> for Tomcat 8.5+ and any other container that provides this >>>>> functionality >>>>> with internal APIs. >>>>> >>>>> >>>>> Martin Grigorov >>>>> Wicket Training and Consulting >>>>> https://twitter.com/mtgrigorov >>>>> >>>>> On Tue, Jun 28, 2016 at 11:08 PM, Tobias Soloschenko < >>>>> [email protected]> wrote: >>>>> >>>>> Hi, >>>>>> >>>>>> just a small update: >>>>>> >>>>>> I switched the implementation to servlet-4.0.0-b01 API as far as >>>>>> >>>>> possible: >>>> >>>>> >>>>>> >>>>>> >>>> https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/4.0.0-b01 >>>> >>>>> The only thing I can do now is to wait for the JEE standard to be >>>>>> finalized and to be implemented into the servers like jetty, tomcat, >>>>>> >>>>> etc. >>>> >>>>> https://github.com/klopfdreh/jetty-http2-example >>>>>> >>>>>> kind regards >>>>>> >>>>>> Tobias >>>>>> >>>>>> Am 12.05.2016 um 18:15 schrieb Maxim Solodovnik <[email protected] >>>>>>> >>>>>> : >>>>> >>>>>> Cool! >>>>>>> >>>>>>> On Thu, May 12, 2016 at 10:10 PM, Tobias Soloschenko < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>> Hi, >>>>>>>> >>>>>>>> I just managed to finish a PoC in which Apache Wicket runs on Jetty >>>>>>>> >>>>>>> with >>>> >>>>> http/2 and uses the Servlet 4.0 Spec / PushBuilder to provide >>>>>>>> >>>>>>> resources >>>> >>>>> to >>>>>> >>>>>>> the client. >>>>>>>> >>>>>>>> Notes: >>>>>>>> * Small API which can be added to increase the performance of the >>>>>>>> >>>>>>> webapp >>>> >>>>> with http/2 >>>>>>>> * No html changes required >>>>>>>> >>>>>>>> References: >>>>>>>> * >>>>>>>> >>>>>>> >>>> https://raw.githubusercontent.com/klopfdreh/jetty-http2-example/master/without_push.png >>>> >>>>> * >>>>>>>> >>>>>>> >>>> https://raw.githubusercontent.com/klopfdreh/jetty-http2-example/master/with_push.png >>>> >>>>> On localhost improved performance: 37ms latency without and 1ms >>>>>>>> >>>>>>> latency >>>> >>>>> to >>>>>> >>>>>>> serve the resource (CSS file) >>>>>>>> >>>>>>>> Example Implementation: >>>>>>>> * >>>>>>>> >>>>>>> >>>> https://github.com/klopfdreh/jetty-http2-example/blob/master/de.jetty.wicket.http2.example/src/main/java/de/jetty/wicket/http2/example/HTTP2Page.java#L28 >>>> >>>>> Jetty Setup: >>>>>>>> * >>>>>>>> >>>>>>> >>>> https://github.com/klopfdreh/jetty-http2-example/blob/master/de.jetty.wicket.http2.example/src/test/java/de/jetty/wicket/http2/example/Runner.java >>>> >>>>> hooray! >>>>>>>> >>>>>>>> WDYT >>>>>>>> >>>>>>>> kind regards >>>>>>>> >>>>>>>> Tobias >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> WBR >>>>>>> Maxim aka solomax >>>>>>> >>>>>> >> >
