Great. Thank you very much.

I dont want to add CXF or Jersey. thank to your answer I have come up with
the idea myself to inject the  @Context HttpServletRequest into the JaxRS
code. To mix in this:
https://osgi.org/specification/osgi.cmpn/7.0.0/service.http.whiteboard.html#d0e120961
I didn't test it yet but does it work? I don't see that the aries JaxRs
whiteboard impl somewhere
defined osgi.http.whiteboard.servlet.multipart.enabled=true

Best regards,
Matthias

Am Do., 7. Nov. 2019 um 15:38 Uhr schrieb Tim Ward <[email protected]>:

> Hi Matthias
>
> I was a bit confused about how you could add a Servelt to the
> JaxRsWhiteboard instead of the HttpWhiteboard for Multi-Part file uploads.
>
>
> I hope it’s now clear that the JAX-RS whiteboard does not support
> Servlets. You can either:
>
>    - Register a servlet with the Http Whiteboard and find a place to put
>    the file
>    - Handle the multipart file upload using JAX-RS
>
>
> If the file upload is only needed by your JAX-RS components then I would
> recommend just using JAX-RS rather than a servlet.
>
> * So a JaxRsResource can but most not belong to an application?
>
>
> A JAX-RS Whiteboard resource is just a “bare” resource in the service
> registry. In the most common case the resource service that you register
> will bind to the “default” application provided by the JAX-RS Whiteboard.
> There is no need to deploy a custom whiteboard application for resources to
> be hosted by the JAX-RS whiteboard.
>
> * It's fine to put all your Resources into the same JaxRsWhiteboard even
> if you could separate them?
>
>
> Yes. This will work fine. All the resources (by default) will get hosted
> in the default application. If you do want to provide some isolation
> between the resources (e.g. if you need differently configured JSON
> providers for different resources) then you can still do this with a single
> JAX-RSWhiteboard, but you will need to provide separate Applications for
> the resources and extensions. This is because applications within the
> whiteboard *are* isolated from each other, and can have different sets of
> resources and extensions.
>
> In general, however, you’re pretty safe just registering all the resources
> and extensions that you need directly with the whiteboard using the default
> application.
>
> All the best,
>
> Tim
>
>
> On 7 Nov 2019, at 12:54, Matthias Leinweber <[email protected]>
> wrote:
>
> Hello Tim,
>
> thanks for your reply. I get the JaxRS Application thing wrong. I thought
> that an application and a JaxRsResource is/can be the same. But obviously,
> if you read the documentation correct, then not.
> Then it also makes sense to inject the Application with @Context
> Applicaiton app into a method.
> I had also a misunderstanding with http and jaxrs whiteboard. I was a
> bit confused about how you could add a Servelt to the JaxRsWhiteboard
> instead of the HttpWhiteboard for Multi-Part file uploads.
> I think the default app and the configuration of the default jaxrs
> whiteboard caused some confusion for me.
>
> * So a JaxRsResource can but most not belong to an application?
> * It's fine to put all your Resources into the same JaxRsWhiteboard even
> if you could separate them?
>
> right? then I think, I understood the thing and i like it :)
>
> Best regards
> Matthias
>
> Am Do., 7. Nov. 2019 um 13:24 Uhr schrieb Tim Ward <[email protected]>:
>
>> in OSGI 6 I think we should be able to use
>> @Component(property = {"osgi.jaxrs.name=myApp",
>> "osgi.jaxrs.application.base=/foo"}, service = A.class)
>> class...
>> That does not work or did I misunderstood something?
>>
>>
>> If you want to register an application with the whiteboard then you must
>> register it as a javax.ws.rs.core.Application in the service registry.
>> This is outlined at https://osgi.org/specification/osgi.cmpou
>> cann/7.0.0/service.jaxrs.html#service.jaxrs.application.services
>> <https://osgi.org/specification/osgi.cmpn/7.0.0/service.jaxrs.html#service.jaxrs.application.services>
>>
>> Second how do i create additional Servlets and how do I select them in a
>> resource?
>> E.g. A configfile/servicepid
>> org.apache.aries.jax.rs.whiteboard-bar.cfg
>> application.base.prefix=/bar
>> should create an additional servlet container?
>>
>>
>> I’m not sure that I totally follow here. It looks like you’re trying to
>> create a configuration for another Aries JAX-RS whitboard instance - is
>> this really what you want, a second JAX-RS whiteboard? The Aries JAX-RS
>> Whiteboard is designed to build on top of a compliant Http Whiteboard, if
>> you are actually trying to create another Http Whiteboard (e.g. to get HTTP
>> served on another port) then you will need to set that up in PAX-Web.
>>
>> Then with
>> @JaxrsWhiteboardTarget
>> or
>> "osgi.jaxrs.whiteboard.target="
>>
>> I can select the servlet/Whiteboard, but how does the LDAP string look?
>> (service.pid=org.apache.aries.jax.rs.whiteboard-bar)?
>>
>>
>> This property only applies if you create more than one JAX-RS whiteboard,
>> and would be applied to your JAX-RS Whiteboard services (resources,
>> applications, extensions), and you would use the filter to select the
>> JAX-RS Whiteboard that you wanted them to use. If you do want to do this,
>> which seems unlikely, then you would typically add a marker property into
>> the configuration for your JAX-RS Whiteboard and then use that property
>> name/value in the filter.
>>
>>
>> Any questions that relate to setting up the Http Whiteboard will need to
>> be handled by someone with more PAX-Web experience. I would also recommend
>> that, in addition to describing the problems that you’ve encountered, you
>> include a description of what you’re trying to achieve with your system.
>>
>> E.g.
>>
>>
>>    - Do you want multiple Http ports being served (this would be Http
>>    Whiteboard not JAX-RS Whiteboard)?
>>    - Do you want JAX-RS Whiteboard support on top of one or more of the
>>    available Http Whiteboards)?
>>    - Do you want to publish JAX-RS resource services, application
>>    services, or a mixture of the two?
>>    - Do you want the JAX-RS services that you publish to appear on all
>>    whiteboards, or just a subset?
>>
>>
>> With this information it will be much easier to help you to achieve your
>> goal.
>>
>> All the best,
>>
>> Tim
>>
>> On 6 Nov 2019, at 17:25, Matthias Leinweber <[email protected]>
>> wrote:
>>
>> Hi JB,
>> yes that was my first place to start... really like the examples in the
>> source, they are really helpful.
>>
>> ok:
>> Fist thing are JAXRs Applications. In OSGI7 we will use
>> @JaxrsName("myApp")
>> @JaxrsApplicationBase("foo")
>> @Component
>> class....
>>
>> in OSGI 6 I think we should be able to use
>> @Component(property = {"osgi.jaxrs.name=myApp",
>> "osgi.jaxrs.application.base=/foo"}, service = A.class)
>> class...
>> That does not work or did I misunderstood something?
>>
>> Second how do i create additional Servlets and how do I select them in a
>> resource?
>> E.g. A configfile/servicepid
>> org.apache.aries.jax.rs.whiteboard-bar.cfg
>> application.base.prefix=/bar
>> should create an additional servlet container?
>>
>> Then with
>> @JaxrsWhiteboardTarget
>> or
>> "osgi.jaxrs.whiteboard.target="
>>
>> I can select the servlet/Whiteboard, but how does the LDAP string look?
>> (service.pid=org.apache.aries.jax.rs.whiteboard-bar)?
>>
>> Best regards,
>> Matthias
>>
>>
>> Am Mi., 6. Nov. 2019 um 18:00 Uhr schrieb Jean-Baptiste Onofré <
>> [email protected]>:
>>
>>> Hi Matthias,
>>>
>>> did you take a look on the Karaf example ?
>>>
>>> https://github.com/apache/karaf/tree/master/examples/karaf-rest-example
>>>
>>> It contains different approaches, including whiteboard.
>>>
>>> Can you describe a bit what you are looking for ? We can then create the
>>> Jira at Karaf/Aries to improve example/documentation.
>>>
>>> Regards
>>> JB
>>>
>>> On 06/11/2019 17:56, Matthias Leinweber wrote:
>>> > Hello Karaf Team,
>>> >
>>> > I know that this not the 100% correct mailing list for aries jax-rs.
>>> > However my question is what do you plan for further releases of Karaf?
>>> I
>>> > try to use the aries implementation but I struggle with the
>>> configuration.
>>> > Beside the incomplete documentation and the "very special" DSL which is
>>> > used I dug into the code and understood the following things.
>>> >
>>> > * You can not add additional JAXRSApplications. ("osgi.jaxrs.name
>>> > <http://osgi.jaxrs.name>=myApp",
>>> "osgi.jaxrs.application.base=/approot"}
>>> > although there is code which should do this?
>>> > * Additional configurations for other then the default servlet is not
>>> > possible although there is a service factory manager
>>> which should handle
>>> > additional configs?
>>> > * With org.apache.aries.jax.rs.whiteboard.default.cfg
>>> > # application.base.prefix you can add a global url prefix to your
>>> > JaxRSResoureces. Would be nice if that could be documented somewhere.
>>> >
>>> > Don't get me wrong I do not say that the bundle is bad, but at some
>>> > point it could be easier to understand.
>>> >
>>> > regards Matthias
>>> >
>>> >
>>>
>>> --
>>> Jean-Baptiste Onofré
>>> [email protected]
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>>>
>>
>>
>> --
>>
>>
>>
>
>
>
>

Reply via email to