Looks like you have declared CategoryService, check beans.xml and jaxrs.xml
Sergey On Fri, Jun 10, 2011 at 12:46 PM, odyssey045 <[email protected]> wrote: > I have a simple REST service class which looks something like this... > The DAO over here is being injected by spring. I am able to see the dao > member property being set when the container loads up. > > Unfortunately when i access this particular property at a later point of > time, it turns out to be null (its initial value) > > To test this out, i tried changing a value of a normal "int" when the > injection of the bean happened.. I find that when i access this value of int > while the web service is being processed, it displays the initial value of > "3" instead of the modified value of "5" which is set in setCategoryDAO. > > @Path("/categoryservice") > @Produces("application/xml") > public class CategoryService { > > public CategoryService() { > System.out.println("Lets see when i am getting called"); > } > CategoryDao categoryDAO = null; > int a = 3; > > public CategoryDao getCategoryDAO() { > return categoryDAO; > } > //TODO with spring > public void setCategoryDAO(CategoryDao categoryDAO) { > System.out.println("Will this ever get called!!"); > a= 5; // value modified > this.categoryDAO = categoryDAO; > if (this.categoryDAO == null) > System.out.println("THIS IS NULL "); > else > System.out.println("Why is it not > working?"+this.categoryDAO.getCategory("001").getCategoryName()); > /** This is being printed **/ > } > @GET > @Path("/category/{id}") > @Consumes("application/xml") > public Category getCategory(@PathParam("id") String id) { > System.out.println("The id to fetch is "+id); > System.out.println("The value of a is "+a); // a = 3 over here! > CategoryDao cdao = getCategoryDAO(); > > if (this.categoryDAO == null) > System.out.println("THIS IS NULL"); /** This is being printed > **/ > else > System.out.println("Why is it not working?"); > > > Category cat = this.categoryDAO.getCategory(id); > return cat; > } > ........... > ........... > Why is this happening? And is there a way i can retain its state across > various requests? I tried setting the bean scope to "session". But it doesnt > work. > > -- > View this message in context: > http://cxf.547215.n5.nabble.com/Spring-cxf-the-injected-bean-in-the-service-is-not-persisted-Get-NPE-tp4475916p4475916.html > Sent from the cxf-user mailing list archive at Nabble.com. >
