That was complicated... I tested like this:

1) removed factory.setServiceBean(testService());
it throws a org.apache.cxf.service.factory.ServiceConstructionException: No
resource classes found

2) in my Application changed
s.add(TestService.class)

- a interface -  to s.add(TestService
Impl.class)
it worked but none of the properties
in the service
were injected

3) removed the getClasses and overrided getSingletons instead, passing a
injected testService
IT WORKS

So I guess it was my mistake in first place...
Nevertheless let me ask, in my use case scenario (CXF+Spring) using the
RuntimeDelegate is the correct way to instantiate a server?


Cheers.






* Melhores cumprimentos / Beir beannacht / Best regards *
*______________________________________________________*

*António Manuel dos Santos Mota <http://gplus.to/amsmota>*
*http://www.linkedin.com/in/amsmota* <http://www.linkedin.com/in/amsmota>
*______________________________________________________*


On 26 November 2013 16:23, Sergey Beryozkin <[email protected]> wrote:

> Hi
>
> On 26/11/13 13:41, António Mota wrote:
>
>> Hi again.
>>
>> Sorry for not having explained myself correctly. What I'm trying to do is
>> to have CXF+Spring configured in a Servlet 3 "non-xml" fashion. SO I have
>> my WebApplicationInitializer initializing
>> a AnnotationConfigWebApplicationContext with some @Configuration classes.
>> SO I have not only to instantiate the RS Applications but also all the
>> Spring beans and make them available to each other. I did that with Jersey
>> but found out some problems with the jersey-spring3 integration, and since
>> we're planning the use of probably Fuse (or at least Camel) I'm now
>> testing
>> CXF. I started with the example here [1] (that is indeed a example using
>> the standalone container), from which i picked and adapted parts of the
>> code, so I ended up in my configuration with
>>
>> @Bean(destroyMethod = "shutdown")
>>   public SpringBus cxf() {
>> SpringBus springBus = new SpringBus();
>>   return springBus;
>> }
>>
>> @Bean
>>   public Server jaxRsServer() {
>> JAXRSServerFactoryBean factory =
>> RuntimeDelegate.getInstance().createEndpoint(restApplication(),
>> JAXRSServerFactoryBean.class);
>>
>
>    factory.setServiceBean(testService());
>>
>
> This line appears to be redundant to me, as you are already setting it up
> in the application. If it does not work without this line then it is a bug
> which must be fixed.
>
> I think we have a demo (in our distro) where a server is started with
> RuntimeDelegate, and it works
>
> Can you double check it please ?
>
> Thanks, Sergey
>
>
>  return factory.create();
>>   }
>>
>> and then the beans referring my javax.ws.rs.core.Application and my
>> testService. If I don't have the above 2 beans nothing is instantiated. To
>> have the TestService registered in the Application like in my previous
>> post
>> it's irrelevant.
>>
>>
>> My servlet is configured as
>>
>> ServletRegistration.Dynamic dispatcher =
>> container.addServlet("dispatcher","org.apache.cxf.
>> transport.servlet.CXFServlet");
>>
>> It is working until now, but I really don't know if this is the right way
>> to do it, but nevertheless this *is* a test phase...
>>
>> [1]
>> http://aredko.blogspot.ca/2013/01/going-rest-embedding-
>> jetty-with-spring.html
>>
>>
>> BTW, the @PreMatching is working now, I just had to do some small changes
>> in the way ContainerRequestContext retrieves the service paths (!) and
>> changed the Jersey specific HttpBasicAuthFilter to use the http header
>> directly.
>>
>>
>> Cheers.
>>
>>
>>
>>
>>
>> * Melhores cumprimentos / Beir beannacht / Best regards *
>> *______________________________________________________*
>>
>> *António Manuel dos Santos Mota <http://gplus.to/amsmota>*
>> *http://www.linkedin.com/in/amsmota* <http://www.linkedin.com/in/amsmota>
>> *______________________________________________________*
>>
>>
>> On 26 November 2013 11:39, Sergey Beryozkin <[email protected]> wrote:
>>
>>  Hi
>>>
>>> On 26/11/13 11:32, António Mota wrote:
>>>
>>>  Sorry, @PreMatching does work, after I registered it in
>>>> my javax.ws.rs.core.Application instead of rootContext.
>>>>
>>>> That leads me to a question however. Why do I have to register my
>>>> classes
>>>> with the JAXRSServerFactoryBean itself and not doing it only has the
>>>> JAX-RS
>>>> spec says, like in
>>>>
>>>> @ApplicationPath("rest")
>>>> public class RestApplication extends Application {
>>>>
>>>> @Override
>>>>       public Set<Class<?>> getClasses() {
>>>>           Set<Class<?>> s = new HashSet<Class<?>>();
>>>>           s.add(TestService.class); -----------------------> this one I
>>>> had
>>>> to register in JAXRSServerFactoryBean
>>>>           s.add(PreMatchingFilter.class);
>>>>           return s;
>>>>       }
>>>> }
>>>>
>>>>   I'm a bit confused now :-).
>>>>
>>> You can have Application activated with CXFNonSpringJaxrsServlet, you
>>> don't have to work with JAXRSServerFactoryBean, unless you have you
>>> application running in the standalone Jetty container.
>>>
>>> What is that 'rootContext' you are referring to ? Is it something we need
>>> to fix ?
>>>
>>> Sergey
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>>
>>>> * Melhores cumprimentos / Beir beannacht / Best regards *
>>>> *______________________________________________________*
>>>>
>>>> *António Manuel dos Santos Mota <http://gplus.to/amsmota>*
>>>> *http://www.linkedin.com/in/amsmota* <http://www.linkedin.com/in/
>>>> amsmota>
>>>> *______________________________________________________*
>>>>
>>>>
>>>> On 26 November 2013 11:16, António Mota <[email protected]> wrote:
>>>>
>>>>   Well, the services works well, however I detected some points:
>>>>
>>>>>
>>>>> - if I point to my root address as before it still give me the address
>>>>> of
>>>>> the WADLs and WSDLs. The WSDL links still work but the WADLs give a 404
>>>>>
>>>>> - @PreMatching does not seems to work, beside the annotated class I
>>>>> also
>>>>> registered my annotated class it in the application
>>>>> with rootContext.register(MyPreMatchingFilter.class);
>>>>>
>>>>>
>>>>> Cheers.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> * Melhores cumprimentos / Beir beannacht / Best regards *
>>>>> *______________________________________________________*
>>>>>
>>>>> *António Manuel dos Santos Mota <http://gplus.to/amsmota>*
>>>>> *http://www.linkedin.com/in/amsmota* <http://www.linkedin.com/in/
>>>>> amsmota
>>>>>
>>>>>>
>>>>>>  *______________________________________________________*
>>>>>
>>>>>
>>>>> On 26 November 2013 11:05, António Mota <[email protected]> wrote:
>>>>>
>>>>>   Yes, I just found out
>>>>>
>>>>>>
>>>>>> http://cxf.apache.org/docs/30-migration-guide.html
>>>>>>
>>>>>> But the problem is, how stable is this and what's teh roadmap until
>>>>>> Release? If I tell my boss to use a Milestone1 he'll laugh...
>>>>>>
>>>>>> Nevertheless I will do test, I'll be happy if I can help somehow.
>>>>>>
>>>>>> Cheers.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> * Melhores cumprimentos / Beir beannacht / Best regards *
>>>>>> *______________________________________________________*
>>>>>>
>>>>>>
>>>>>> *António Manuel dos Santos Mota <http://gplus.to/amsmota>*
>>>>>> *http://www.linkedin.com/in/amsmota* <http://www.linkedin.com/in/
>>>>>> amsmota>
>>>>>> *______________________________________________________*
>>>>>>
>>>>>>
>>>>>> On 26 November 2013 11:02, Francesco Chicchiriccò <
>>>>>> [email protected]
>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>
>>>>>>   On 26/11/2013 11:58, Sergey Beryozkin wrote:
>>>>>>
>>>>>>>
>>>>>>>   Hi,
>>>>>>>
>>>>>>>> CXF 3.0.0-milestone1 has just been released, give it a try please
>>>>>>>>
>>>>>>>>
>>>>>>>>  Hey, great news: I haven't heard anything yet about this (not even
>>>>>>> from
>>>>>>> announce@) and http://cxf.apache.org/download.html does not show
>>>>>>> anything new...
>>>>>>>
>>>>>>> Anyway, is there any migration procedure (or just hints) for people
>>>>>>> upgrading from 2.7.X (2.7.8-SNAPSHOT, actually)?
>>>>>>>
>>>>>>> Regards.
>>>>>>>
>>>>>>>
>>>>>>>    On 26/11/13 10:49, António Mota wrote:
>>>>>>>
>>>>>>>
>>>>>>>>   Hi again.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> As part of my POC (that ultimately is aimed at aiding us to choose
>>>>>>>>> between
>>>>>>>>> CXF, CXF+Camel or Jersey) I'm now trying to port some use cases
>>>>>>>>> from
>>>>>>>>> Jersey
>>>>>>>>> to CXF. It was going very well except for a use case where I'm
>>>>>>>>> using
>>>>>>>>> javax.ws.rs.client.ClientBuilder, but it seems that this class is
>>>>>>>>> only
>>>>>>>>> present in javax.ws.rs-api:2.0 and CXF 2.7.7 uses
>>>>>>>>> javax.ws.rs-api:2.10-m10.
>>>>>>>>>
>>>>>>>>> I tried to just import the RS 2.0 jars and it went OK until CXF
>>>>>>>>> tries
>>>>>>>>> to
>>>>>>>>> instantiate a ResponseImpl that uses
>>>>>>>>> a javax.ws.rs.MessageProcessingException that seems to be present
>>>>>>>>> in
>>>>>>>>> RS
>>>>>>>>> 2.0-m10 but not in 2.0.
>>>>>>>>>
>>>>>>>>> So my question is, is there a milestone that uses the final RS 2.0?
>>>>>>>>> If
>>>>>>>>> yes,
>>>>>>>>> how stable is it and when it will be available as Release?
>>>>>>>>>
>>>>>>>>> Cheers.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> * Melhores cumprimentos / Beir beannacht / Best regards *
>>>>>>>>> *______________________________________________________*
>>>>>>>>>
>>>>>>>>> *António Manuel dos Santos Mota <http://gplus.to/amsmota>*
>>>>>>>>> *http://www.linkedin.com/in/amsmota* <http://www.linkedin.com/in/
>>>>>>>>> amsmota>
>>>>>>>>> *______________________________________________________*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    --
>>>>>>>>
>>>>>>> Francesco Chicchiriccò
>>>>>>>
>>>>>>> Tirasa - Open Source Excellence
>>>>>>> http://www.tirasa.net/
>>>>>>>
>>>>>>> ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
>>>>>>> http://people.apache.org/~ilgrosso/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>> --
>>> Sergey Beryozkin
>>>
>>> Talend Community Coders
>>> http://coders.talend.com/
>>>
>>> Blog: http://sberyozkin.blogspot.com
>>>
>>>
>>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com
>

Reply via email to