So far, the AdviceBean we’ve written hasn’t needed to be stateful. It doesn’t keep or use any client-specific state, so it doesn’t need a create() method with arguments. But what if we did want to make it a stateful bean? What if the business logic needed to, say, keep a record of the conversation it’s having so that it never gives out the same advice more than once in a session? Even if the choice of an advice string is purely random, if you want to ensure the advice isn’t repeated during a session, you’ll have to keep track of it in an instance variable.
And you might have other changes, too, like making the create methods take arguments that contain the type of advice the client is looking for, or some other kind of preference. In that case, each time the client made a method call, you’d want to check the status of that client-supplied creation initialization preference, and tailor your advice based on the value set during the bean’s ejbCreate(). Later in the book, we’ll look at a more elaborate version of this AdviceBean, but for now, we’ll make just a subtle change to make the bean stateful.
Get Head First EJB now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.