Hi, such a compact statement, but still a lot to wrap my head around.
My prejudgement was so solid that I didn't bother to search for any explanations on the net and good explanations are not that far away: http://en.wikipedia.org/wiki/Enterprise_JavaBeans#Stateless_Session_Beans thnx, Martin Am 06.03.2014 um 17:47 schrieb Romain Manni-Bucau <[email protected]>: > Hi > > stateless means "don"t expect the same instance to be used twice" (if > you store a value and call twice your ejb the second time the value > can be different). > > However it is thread safe (pooled) and it allows you to handle > transaction and security as any ejb > Romain Manni-Bucau > Twitter: @rmannibucau > Blog: http://rmannibucau.wordpress.com/ > LinkedIn: http://fr.linkedin.com/in/rmannibucau > Github: https://github.com/rmannibucau > > > > 2014-03-06 17:42 GMT+01:00 Martin Funk <[email protected]>: >> Hi again, >> >> still at a very early stage of conquering the domain of TomEE+. >> >> I have a question on javax.ejb.Stateless. In the specs I read that in the >> area of SOAP based web services, which are implemented by an EJB component >> the class implementing the endpoint must be annotated @Stateless or >> @Singleton. >> >> I got curious on what would happen if the class was annotated @Statless even >> though the instances were not 'Stateless' >> Exceptions were expected, but non were thrown. >> >> Code Service: >> package de.jaxws.soap.ejb; >> >> import javax.ejb.Stateless; >> import javax.jws.WebService; >> >> @WebService >> @Stateless >> public class SoapEjb { >> >> private int i; >> >> public String helloEJB() { >> return "helloEJB again :" + i++; >> } >> } >> >> Code Client (supporting Classes were generated using wsimport): >> package de.jaxws.soap.client; >> >> >> import de.jaxws.soap.client.SoapEjb; >> import de.jaxws.soap.client.SoapEjbService; >> >> public class Client { >> >> public static void main(String[] args) { >> >> SoapEjbService service = new SoapEjbService(); >> SoapEjb port = service.getPort(SoapEjb.class); >> for (int i = 0; i < 10; i++) { >> System.out.println(port.helloEJB()); >> } >> } >> >> } >> >> Output of Client: >> helloEJB again :0 >> helloEJB again :1 >> helloEJB again :2 >> helloEJB again :3 >> helloEJB again :4 >> helloEJB again :5 >> helloEJB again :6 >> helloEJB again :7 >> helloEJB again :8 >> helloEJB again :9 >> >> Could someone please give me a hint on what I'm misunderstanding? >> >> Cheers, >> >> Martin
