WELD-000072 Managed bean declaring a passivating scope must be passivation capable

christina picture christina · Mar 18, 2012 · Viewed 55.5k times · Source

I wrote a simple program in java web forms but i am receiving the following error:

WELD-000072 Managed bean declaring a passivating scope must be passivation capable. Bean: Managed Bean [class BeanPakage.DemoBeans] with qualifiers [@Any @Default @Named]

Can anyone tell me where this error comes from?

import javax.enterprise.context.SessionScoped;
import javax.inject.Named;


@Named("DemoBeans")
@SessionScoped
public class DemoBeans {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Answer

Matt Handy picture Matt Handy · Mar 18, 2012

You can make your bean passivation capable by implementing the Serializable interface:

public class DemoBean implements Serializable { ... }

Note that there are more requirements for being passivation capable. Refer to the Weld documentation for more information.