All Examples  All EJB Examples

Package examples.ejb.basic statelessSession

Enterprise JavaBean stateless 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 stateless session EJBean called TraderBean.

The example demonstrates:

The Client application performs these steps:
  1. Contacts the Trader home ("TraderHome") through JNDI to find the EJBean
  2. Creates a Trader
  3. The application then starts a loop that it executes five times:
    1. Buys shares of "WEBL"
    2. Calculates the change in the cash account (after the buy)
    3. Sells shares of "INTL"
    4. Calculates the change in the cash account (after the sell)
      (The EJBean does not actually "buy" or "sell"; it simulates the actions of accessing a database.)

  4. Gives the change in the cash account
  5. Removes the Trader
The application demonstrates how the client must maintain any persistent state -- such as the change in the cash account -- across repeated calls to the session EJBean. All the logic for the balance is encapsulated in the Client, unlike the stateful session example, where all the persistence is provided by the container and the logic is maintained in the EJBean.

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 DeploymentDescriptor.txt to find the general structure of the EJBean, 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 EJBean. 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 EJBeans.

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:

The "build" scripts build individual examples, such as this entry for Windows:

$ build basic statelessSession
To build under Microsoft's JDK for Java, use
$ build statelessSession -ms
These scripts will build the example and place the files in the correct locations:

Set your environment

Deploy the EJBean 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 EJBeans 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 EJBean 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 statelessSession.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.statelessSession.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.statelessSession.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

  3. If you're running the Client example, you should get output similar to this from the client application:
    Begin basic.statelessSession...
    
    Creating trader
    
    Start of Transaction 1 for Erin
    Buying 100 of WEBL
    ...Bought 100 at $10.0
    Selling 200 of INTL
    ...Sold 200 at $15.0
    Change in Cash Account: $2000.0
    End of Transaction 1
    
    Start of Transaction 2 for Erin
    Buying 200 of WEBL
    ...Bought 200 at $10.0
    Selling 300 of INTL
    ...Sold 300 at $15.0
    Change in Cash Account: $4500.0
    End of Transaction 2
    
    Start of Transaction 3 for Erin
    Buying 300 of WEBL
    ...Bought 300 at $10.0
    Selling 400 of INTL
    ...Sold 400 at $15.0
    Change in Cash Account: $7500.0
    End of Transaction 3
    
    Start of Transaction 4 for Erin
    Buying 400 of WEBL
    ...Bought 400 at $10.0
    Selling 500 of INTL
    ...Sold 500 at $15.0
    Change in Cash Account: $11000.0
    End of Transaction 4
    
    Start of Transaction 5 for Erin
    Buying 500 of WEBL
    ...Bought 500 at $10.0
    Selling 600 of INTL
    ...Sold 500 at $15.0
    Change in Cash Account: $13500.0
    End of Transaction 5
    
    Change in Cash Account: $13500.0
    
    Removing trader
    
    End basic.statelessSession...
Notice that when the trading limit of 500 shares was exceeded in Transaction 5, the actual sale was reduced to the limit. The change in the cash account must be maintained across all the transactions by the Client.

there's more

Read more about EJB in the Developers Guide, Using WebLogic Enterprise JavaBeans.

Copyright © 1997-1999 BEA WebXpress. All rights reserved.

Last updated 09/06/1999