Thank you for the response Sergey!

You mean to say we can use either 'jaxrs:serviceBeans' approach or
beanNames="customerBean2 customerBean3" approach (same as factory
internally) to have service beans.

Sudheer
On Tue, Jun 22, 2010 at 2:33 AM, Sergey Beryozkin <[email protected]>wrote:

> Hi
>
> What exactly does not work ?
> 1.<jaxrs:serviceBeans>
> *      <ref bean="customerBean" />*
> </jaxrs:serviceBeans>
>
> refers to the singleton bean. Beans declared inside/linked from
> jaxrs:serviceBeans can be singletons only, it is a bit confusing probably,
> but this is the limitation.
> 2. beans = "customerBean2 customerBean3" refer to  customerBean2 &
> customerBean3 beans. Using the 'beans' attribute is a shortcut, it is
> equivalent to  using
>
> <jaxrs:serviceFactories>
>      <ref bean="sfactory1" />
>      <ref bean="sfactory2" />
> </jaxrs:serviceFactories>
>
> where each factory bean refers to a bean it manages (customerBean4 &
> customerBean5).
>
> So one can use either jaxrs:serviceBeans or jaxrs:serviceFactories ( often
> equivalent to jaxrs:server/@beans )
>
> Using Spring AOP is another option.
>
> cheers, Sergey
>
> On Mon, Jun 21, 2010 at 7:02 AM, Balaji Sankar Chopparapu <
> [email protected]> wrote:
>
> > Thanks Sergey for you quick reply. The "beanNames"attribute doenst work
> on
> > Service Beans.  Is this by design. Even in the example the
> > "customerBean2,customerBean3" are not referred as service beans.  Please
> > suggest
> >
> >
> >      <beans>
> >   <jaxrs:server id="customerService" address="/service1"
> >     beanNames="customerBean2 customerBean3">
> >     <jaxrs:serviceBeans>
> > *      <ref bean="customerBean" />*
> >     </jaxrs:serviceBeans>
> >     <jaxrs:serviceFactories>
> >       <ref bean="sfactory1" />
> >       <ref bean="sfactory2" />
> >     </jaxrs:serviceFactories>
> >   </jaxrs:server>
> > *  <bean id="customerBean" class="demo.jaxrs.server.CustomerService" />
> >   <bean id="customerBean2" class="demo.jaxrs.server.CustomerService2"
> > scope="prototype"/>
> >   <bean id="customerBean3" class="demo.jaxrs.server.CustomerService3"
> > scope="prototype"/>
> > *
> >   <bean id="sfactory1"
> > class="org.apache.cxf.jaxrs.spring.SpringResourceFactory">
> >      <property name="beanName" value="customerBean4"/>
> >   </bean>
> >   <bean id="sfactory2"
> > class="org.apache.cxf.jaxrs.spring.SpringResourceFactory">
> >      <property name="beanName" value="customerBean5"/>
> >   </bean>
> >
> >   <bean id="customerBean4" class="demo.jaxrs.server.CustomerService4"
> > scope="prototype"/>
> >   <bean id="customerBean5" class="demo.jaxrs.server.CustomerService5"
> > scope="prototype"/>
> > </beans>
> >
> >
> >
> > On Thu, Jun 17, 2010 at 7:53 PM, Sergey Beryozkin <[email protected]
> >wrote:
> >
> >> Hi
> >>
> >> JAXRS module also ships prototypes aware factories :
> >> http://cxf.apache.org/docs/jax-rs.html#JAX-RS-Lifecyclemanagement
> >>
> >> cheers, Sergey
> >>
> >>
> >> On Thu, Jun 17, 2010 at 2:57 PM, Daniel Kulp <[email protected]> wrote:
> >>
> >>>
> >>>
> >>> I believe the easiest way to do it is to just use the Spring AOP stuff
> >>> and set
> >>> the bookService bean to be scope=session.  Spring will handle the rest.
> >>>
> >>> Dan
> >>>
> >>>
> >>> On Thursday 17 June 2010 6:19:21 am Balaji Sankar Chopparapu wrote:
> >>> > Hi,
> >>> >
> >>> >
> >>> >
> >>> > We Observed Servicebeans created by
> >>> > "org.apache.cxf.transport.servlet.CXFServlet” is always singleton.
> How
> >>> can
> >>> > I change their scope to prototype or in best case HTTP Session Scope?
> >>> > Please Suggest.
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > *WEB.xml:*
> >>> >
> >>> >         <servlet>
> >>> >
> >>> >                <servlet-name>CXFServlet</servlet-name>
> >>> >
> >>> >                <display-name>CXF Servlet</display-name>
> >>> >
> >>> >                <servlet-class>
> >>> >
> >>> >                        org.apache.cxf.transport.servlet.CXFServlet
> >>> >
> >>> >                </servlet-class>
> >>> >
> >>> >                <load-on-startup>1</load-on-startup>
> >>> >
> >>> >         </servlet>
> >>> >
> >>> > *Bean Definitions:*
> >>> >
> >>> > <jaxrs:server id="restServer" address="/services/">
> >>> >
> >>> >
> >>> >
> >>> >         <jaxrs:serviceBeans>
> >>> >
> >>> >             <ref bean="bookService"/>
> >>> >
> >>> > </jaxrs:serviceBeans>
> >>> >
> >>> >
> >>> > Thanks in Advance,
> >>> >
> >>> > Balaji
> >>>
> >>> --
> >>> Daniel Kulp
> >>> [email protected]
> >>> http://dankulp.com/blog
> >>>
> >>
> >>
> >
>

Reply via email to