Conversational state (Java EE)

In Java Platform, Enterprise Edition (Java EE), the Conversational state are the field values of a session bean plus the transitive closure of the objects reachable from the bean's fields. The name "conversational" is used as this state is necessary for the same client to interact with the same bean instance throughout a session - as opposed to a stateless session bean which does not. For example, while a Cart bean might contain a conversational state to communicate with the same client about the contents of their cart, an Order bean doesn't need it as the conversation (multiple requests/responses) is not necessary. The transitive closure of a bean is defined in terms of the serialization protocol for the Java programming language, that is, the fields that would be stored by serializing the bean instance.