This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The @Init annotation is used for adapting from EJB 2.1 style home interface to EJB 3.0 bean class. The regular way to initialize a stateful session bean is by calling the business method directly after the instance is obtained. The client code would obtain the instance and then invoke initCart(custNo) on it.
You should not typically inject SFSB, unless it is into another SFSB or into a Java EE client. You should use @EJB on the referencing class (e.g. your servlet) to declare the ejb-ref and then do a JNDI lookup in the code to obtain the instance. This instance could then be placed directly in your Http session. There is an example of doing this exact thing in our Pro EJB 3 book, so if you have a copy look near the end of Chapter 3.