dÚvida com session bean stateful e session bean stateless

Estou com uma dúvida quanto à principais diferenças do Session Bean Stateful e o Session Bean Stateless.
Fiz uma implementação de ambos os casos, para fazer alguns testes.

A implementação é bem simples. Criei um ContadorStatefulFachadaBean que disponibiliza o método abaixo:

public int obtemAgendamentos() { return contador++; }

Implementei também outro Session Ben, ContadorStatelessFachadaBean , que disponibiliza um método identico ao acima.

Depois que inicio o servidor com esses dois bean, e invoco esses métodos constantemente,
o session bean do tipo stateful sempre me retorna o mesmo valor.
Enquanto o session bean do tipo stateless retorna o valor incrementado.

Não deveria ser o contrário, já que o stateful mantem o estado durante a conversação de um cliente com o servidor?

O entendi totalmente errado?

Vocês poderiam explicar melhor?

Acredito que entendi pessoal.

O Statefull guarda a seção para chamadas de um mesmo cliente.
Enquanto as chamadas feitas por clientes diferentes, usando o statelles poderão estar compartilhada.
É mais ou menos o que diz o texto abaixo, tirado do link http://javafree.uol.com.br/topic-9989-SESSION-BEAN-STATEFUL-VARIAS-JSP.html.

Quanto ao stateless, só pra vocês perceberem a diferença, suponha um EJB com dois procedimentos: A() e B() e eu os chamo dentro de outro procedimento X() de outro EJB. Com o stateless não existe nenhuma garantia de que o mesmo EJB em que invocamos o procedimento A() será o mesmo em que invocaremos ao chamar o procedimento B().

Com o stateful, isso é garantido.

Na verdade um stateful é um bean apeans teu. Se você tiver um stateful e fizer um lookup uma nova instância é retornada sempre que você fizer o lookup. Já no stateless será sempre retornada uma instância compartilhada.

Porém lembre-se que se você fizer um novo lookup no seu statefull um novo bean será retornado a você.