Hi Arjan, comments inline.
On 11/05/2014 07:21 PM, arjan tijms wrote:
Hi,
For JSF 2.3 we're currently working on providing build-in producers
for various JSF artefacts.We're basically using the approach that I
outlined here:
http://jdevelopment.nl/dynamic-cdi-producers
I noticed CDI is using a similar approach for its build-in producers,
e.g. the one for HttpServletRequest (in Weld:
org.jboss.weld.bean.builtin.ee.HttpServletRequestBean).
Now we're currently putting these producers in an API package, to give
the user a chance to override them, but I noticed CDI is not doing
this. All producers are in implementation packages.
Not sure what you mean here.
How is a producer in an API package
supposed to be overriden? A CDI producer is an implementation detail and
should not be part of the API
After some experimentation I couldn't really succeed in providing an
alternative producer for the CDI produced HttpServletRequest. I tried
the obvious things, like an @Produces method in a bean annotated with
@Alternative but that didn't work. Registered the bean as alternative
in beans.xml, tried the uhm alternative @Priority method, tried
different priority ranges, etc but my own producer was never called.
Am I missing something very obvious, or is it not trivial to provide
an alternative for build-in producers?
This should work. Sounds like an issue with
your setup. Can you paste
your code? It should be something like this:
http://pastebin.com/TkzDtaAE
Kind regards,
Arjan Tijms
_______________________________________________
cdi-dev mailing list
cdi-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the code under the
Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For all other
ideas provided on this list, the provider waives all patent and other intellectual
property rights inherent in such information.