Hi

On Thu, Aug 4, 2011 at 10:59 AM, Philippe Merle <[email protected]> wrote:
> Hi,
>
> I am deploying a CXF-based application on Google App Engine. Have a look at
> http://ow2-frascati.appspot.com/
>
> I am using Apache CXF 2.4.1.
>
> Its class org.apache.cxf.transport.servlet.ServletContextResourceResolver
> uses two classes (javax.naming.InitialContext and
> javax.naming.NamingException) which are not allowed to be used on GAE. The
> use is done in the method 'resolve':
>
>    public final <T> T resolve(final String entryName, final Class<T> clz) {
>
>        Object obj = null;
>        try {
>            if (entryName != null) {
>                InitialContext ic = new InitialContext();
>                try {
>                    obj = ic.lookup(entryName);
>                } finally {
>                    ic.close();
>                }
>            }
>        } catch (NamingException e) {
>            //do nothing
>        }
>        ...
>
> When I am commenting this try/catch block then the class
> ServletContextResourceResolver seems to work well on GAE.
>
> I would like to know:
> * is this try/catch block really required?
> * if not, could it be removed in a future version of CXF?
> * if yes, which could be the solution in order to have this behavior when
> needed and removed it when using CXF on GAE?
>
I'm not sure when this code is used, I don't think we should have any
tests in CXF, but
it's most likely there for a reason, so I added the reflection-based
code instead - I've added
it to 2.5.0-SNAPSHOT only and will merge it to 2.4.2-SNAPSHOT - this
should be a safe change,
but would like to see if someone has any concerns, just in case

Cheers, Sergey

> Thank you in advance and A+
> Philippe Merle
>
>



-- 
Sergey Beryozkin

http://sberyozkin.blogspot.com
Talend - http://www.talend.com

Reply via email to