All Examples  All EJB Examples

Package examples.ejb.basic.statefulSession

Enterprise JavaBean stateful session
example package and classes

about this example

This example is a package that demonstrates an Enterprise JavaBean. Please run this example before attempting to create your own Enterprise JavaBeans, as it will show you the different steps involved. The example is a stateful session EJB called TraderBean.

The example demonstrates:

The Client application performs these steps:
  1. Contacts the Trader home ("TraderHome") through JNDI to find the EJB
  2. Creates a Trader
  3. Sells shares of "MSFT"
  4. Buys shares of "BEAS"
  5. Gets the change in the cash account
    (The EJB does not actually "buy" or "sell"; it simulates the actions of accessing a database)
  6. Removes the Trader
The application demonstrates how repeated calls to the same session EJB have a persistent state -- the change in the cash account -- that is maintained across all the calls. Notice that neither the client nor the EJB do anything to maintain that state: the container handles it transparently. All the logic for the cash account is encapsulated in the EJB, unlike the stateless session example, where all persistence is provided by the client.

how to use this example

To get the most out of this example, first read through the source code files to see what is happening. Start with the XML deployment files to find the general structure of the EJB, which classes are used for the different objects and interfaces, then look at Client.java to see how the application works.

In general, you'll need to adjust certain properties to match your setup. You'll need to edit the entry for the property that begins with "weblogic.ejb.deploy" in the weblogic.properties file to deploy the EJB. The property is commented out in the default properties file; make sure that you uncomment out all the lines of the property.

This example is shipped "pre-built"; you can either run it as shipped, or build the example and run it to test that you are able to successfully build and run EJBs.

These three sections cover what to do:

  1. Build the example
  2. Set your environment
  3. Run the example

Build the example

Set up your development environment as described in Setting your development environment.

We provide separate build scripts for Windows NT and UNIX:

These scripts will build the example and place the files in the correct locations:

Set your environment

Deploy the EJB by adding the path to the .jar file to the "weblogic.ejb.deploy" property.

We provide a commented-out version in the property that begins with "weblogic.ejb.deploy" that you can use. You'll need to adjust the property depending on which EJBs you're building and are deploying, or if the location of the files differs from the installed location.

Note: If you're running under the Microsoft SDK for Java, you'll also need to add the path to the .jar to the CLASSPATH for your WebLogic Server.

Run the example

  1. Start the WebLogic Server. You can check that the EJB has been deployed correctly either by checking the server command line window, or by opening the Console and examining "EJB" under the "Distributed objects"; you should see statefulSession.TraderHome deployed, and can monitor its activity.

  2. Run the client in a separate command line window. Set up your client as described in Setting your development environment, and then run the client by entering:
    $ java examples.ejb.basic.statefulSession.Client

    If you're not running the WebLogic Server with its default settings, you will have to run the client using:

    $ java examples.ejb.basic.statefulSession.Client "t3://WebLogicURL:Port"

    where:

    WebLogicURL
    Domain address of the WebLogic Server
    Port
    Port that is listening for connections (weblogic.system.ListenPort)

    Parameters are optional, but if any are supplied, they are interpreted in this order:

    Parameters:
    url - URL such as "t3://localhost:7001" of Server
    user - User name, default null
    password - User password, default null
    accountID - String Account ID to test, default "10020"

  3. You should receive output similar to this:
    Beginning statefulSession.Client... 
    
    Creating trader 
    
    Selling 200 of MSFT 
    200 shares sold at a price of 150.0 
    Buying 250 of BEAS 
    250 shares bought at a price of 100.0 
    Change in Cash Account: $5000.0 
    
    Removing trader 
    
    
    End statefulSession.Client... 
    
    

there's more

Read more about EJB in BEA WebLogic Server Enterprise Java Beans.

Copyright © 1997-2000 BEA Systems, Inc. All rights reserved.

Last updated 03/28/2000