From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../src/examples/session/stateful/CountClient.java | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/stateful/CountClient.java (limited to 'Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/stateful/CountClient.java') diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/stateful/CountClient.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/stateful/CountClient.java new file mode 100644 index 0000000..3536705 --- /dev/null +++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Gerald Examples/src/examples/session/stateful/CountClient.java @@ -0,0 +1,63 @@ +package examples.session.stateful; + +import javax.naming.*; + +/** + * This class is a simple client for a stateful session bean. + * + * To illustrate how passivation works, configure your EJB server + * to allow only 2 stateful session beans in memory. (Consult your + * vendor documentation for details on how to do this.) We create + * 3 beans in this example to see how and when beans are passivated. + */ +public class CountClient { + + public static final int noOfClients = 3; + + public static void main(String[] args) { + try { + /* Get a reference to the bean */ + Context ctx = new InitialContext(System.getProperties()); + + /* An array to hold the Count beans */ + Count count[] = new Count[noOfClients]; + int countVal = 0; + + /* Create and count() on each member of array */ + System.out.println("Instantiating beans..."); + for (int i = 0; i < noOfClients; i++) { + count[i] = (Count) ctx.lookup(Count.class.getName()); + + /* initialize each bean to the current count value */ + count[i].set(countVal); + + /* Add 1 and print */ + countVal = count[i].count(); + System.out.println(countVal); + + /* Sleep for 1/2 second */ + Thread.sleep(100); + } + + /* + * Let's call count() on each bean to make sure the + * beans were passivated and activated properly. + */ + System.out.println("Calling count() on beans..."); + for (int i = 0; i < noOfClients; i++) { + + /* Add 1 and print */ + countVal = count[i].count(); + System.out.println(countVal); + + /* call remove to let the container dispose of the bean */ + count[i].remove(); + + /* Sleep for 1/2 second */ + Thread.sleep(50); + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} -- cgit v1.2.3