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
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>

Reply via email to