Did you inject your DAO from your Action class?
No, currently I have a DAOFactory returning the DAO to my action class. But eventually I will inject it.
MyDAOInterface myDAO = DAOFactory.getMyDAO();
You are absolutely right. When I injected my dao into Action class session object is not null.
So seam injections will happen only if seam is creating an object. I thought seam would inject even if I am creating object myself coz I am running in seam context. It makes sense to inject in this case but I am wondering if there is a way to create object myself and have injected objects?
MyObject myObject = SeamContext.createComponent(MyObject.class);
Have you tried