Hi Tobias, Here is the impl in Undertow: https://github.com/undertow-io/undertow/blob/master/servlet/src/main/java/io/undertow/servlet/spec/PushBuilderImpl.java
We need to cast to io.undertow.servlet.spec.HttpServletRequestImpl and use it : #getPushBuilder() It is available in io.undertow:undertow-servlet:2.0.0.Alpha1+ Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Sun, Jul 3, 2016 at 9:29 AM, Tobias Soloschenko < [email protected]> wrote: > Hi Martin, > > seems to be Alpha state: > > https://github.com/jboss/jboss-servlet-api_spec > > kind regards > > Tobias > > Am 03.07.16 um 09:24 schrieb Martin Grigorov: > > Great! >> >> I haven't tested it yet with Tomcat. >> >> I remember reading that Undertow were planning to implement PushBuilder >> but >> I am not sure whether they are ready. >> On Jul 3, 2016 10:20 AM, "Tobias Soloschenko" < >> [email protected]> wrote: >> >> Hi, >>> >>> everything is working, now. >>> >>> * Fixed the build for jetty >>> * moved resources to src/main/resources (they were at src/resources and >>> not included in the build) >>> * Jetty implementation is working for me (tested it with my webapp) >>> >>> @Martin: Can you test it for tomcat? I assume it is working, too. Should >>> we also implement it for other server? >>> >>> kind regards >>> >>> Tobias >>> >>> Am 02.07.16 um 14:09 schrieb Martin Grigorov: >>> >>> 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 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >
