I upgraded an old JSF web application from MyFaces 1.1 to MyFaces 2.2.12, mainly using Migrating from JSF 1.2 to JSF 2.0 as a guide.
Using Migrating JSF 1.1 with Ajax4jsf 1.x to JSF 2 as another guide, I also try to replace a4j:keepAlive occurences with adding @ViewScope annotations to the corresponding beans. Up until now, the beans in our application where managed via the faces-config.xml with entries like this:
<managed-bean>
<managed-bean-name>SomeBean</managed-bean-name>
<managed-bean-class>org.some.package.SomeBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
I am also trying to follow advices like this about replacing as much of the faces-config.xml as possible. But when I added the bean and scope annotations like this
@ManagedBean
@ViewScoped
public class SomeBean () {
...
to my bean classes and then ran into an unrelated error in the web application, the MyFaces error debug page showed me that SomeBean is still session scoped, not view scoped.
I haven't deleted the corresponding managed-bean entry from the faces-config file, yet, so I was wondering if settings made in that configuration file override any corresponding annotations in the Java files. Is that the case?