Seam also features a stateless scope which you should probably use for your service layer:
As far as I know, stateless JavaBean components in Seam are pooled just like stateless EJB session beans are, so every caller gets his
owninstance. That means synchronization is not necessary and there are no performance issues.
Is it a good approach make my facade and my DAOs stateless seam components? is there any problem ?
I had your problem before and asked myself exactly the same questions :D. I was hoping to have something like stateless singletons but there isn't. Therefore I had to switch to plain stateless beans. You can that with plain Seam components or EJB.
But the good news are that EJB 3.1 will have the singleton scope. I don´t really know the semantics but I hope they put something good.
That's how I do it. On the other hand, the Seam wiki example uses event-scoped JavaBean DAOs, but they don't actually have any state. As far as I understand this, there should only be very minor differences in performance and/or memory usage. (But I am quite sure that any scope other than stateless or event should not be used for these effectively stateless components.)