Quantcast
Viewing all articles
Browse latest Browse all 5648

What is the meaning of: javax.ejb.Stateless;

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

Viewing all articles
Browse latest Browse all 5648

Trending Articles