All Examples All EJB Examples
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 an entity EJBean called AccountBean.
The example demonstrates:
The Servlet runs in a similar fashion to the Client example. Call the servlet using an appropriate URL as described in the servlet directions. See Run the example for sample servlet output.
As you'll use a database for the persistent storage of the entity EJBean, you'll need to set it up. Note that the persistent storage is completley invisible to the client; the actual storage is handled by the EJBean directly and not the container.
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:
We provide separate build scripts for Windows NT and UNIX:
These scripts build the example and place the files in the correct locations:
With database persistence, each instance of an EJBean is written to a row in a table. The table (ejbAccounts) must be created and exist in the database before the example is run. If you are using the evaluation copy of Cloudscape that is included with WebLogic, this table has already been created in the "demo" database.
You'll need to:
"create table ejbAccounts (id varchar(15), bal float, type varchar(15))"
# Add a TXDataSource for the connection pool: weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.demoPool=demoPool
# You can use this connection pool with any of the EJBean examples. # Uncomment to use: weblogic.jdbc.connectionPool.demoPool=\ url=jdbc:cloudscape:demo,\ driver=COM.cloudscape.core.JDBCDriver,\ initialCapacity=1,\ maxCapacity=2,\ capacityIncrement=1,\ props=user=none;password=none;server=noneYou can use this pool for Cloudscape. For other databases, you'll need to set an appropriate url and driver, such as
# Add an ACL for the connection pool: weblogic.allow.reserve.weblogic.jdbc.connectionPool.demoPool=everyone
If you need more information about how to use connection pools, read Using WebLogic JDBC: Using connection pools.
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.
If you're starting the Server from the command line, you'll need to add an entry such as c:/weblogic/eval/cloudscape/lib/cloudscape.jar to the Java system classpath before starting the server, as described in the Administrators Guide Setting up and starting 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 beanManaged.AccountHome deployed, and can monitor its activity.
$ java examples.ejb.basic.beanManaged.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.beanManaged.Client "t3://WebLogicURL:Port"
Parameters are optional, but if any are supplied, they are interpreted in this order:
Beginning beanManaged.Client... Trying to find account with id: ID: 0 Trying to find account with id: ID: 1 Trying to find account with id: ID: 2 Trying to find account with id: ID: 3 Trying to find account with id: ID: 4 Trying to find account with id: ID: 5 Trying to find account with id: ID: 6 Trying to find account with id: ID: 7 Trying to find account with id: ID: 8 Trying to find account with id: ID: 9 Trying to find account with id: ID: 10 Trying to find account with id: ID: 11 Trying to find account with id: ID: 12 Trying to find account with id: ID: 13 Trying to find account with id: ID: 14 Trying to find account with id: ID: 15 Trying to find account with id: ID: 16 Trying to find account with id: ID: 17 Trying to find account with id: ID: 18 Trying to find account with id: ID: 19 Account: :ID: 0 has a balance of 0.0 Account: :ID: 1 has a balance of 1000.0 Account: :ID: 2 has a balance of 2000.0 Account: :ID: 3 has a balance of 3000.0 Account: :ID: 4 has a balance of 4000.0 Account: :ID: 5 has a balance of 5000.0 Account: :ID: 6 has a balance of 6000.0 Account: :ID: 7 has a balance of 7000.0 Account: :ID: 8 has a balance of 8000.0 Account: :ID: 9 has a balance of 9000.0 Account: :ID: 10 has a balance of 10000.0 Account: :ID: 11 has a balance of 11000.0 Account: :ID: 12 has a balance of 12000.0 Account: :ID: 13 has a balance of 13000.0 Account: :ID: 14 has a balance of 14000.0 Account: :ID: 15 has a balance of 15000.0 Account: :ID: 16 has a balance of 16000.0 Account: :ID: 17 has a balance of 17000.0 Account: :ID: 18 has a balance of 18000.0 Account: :ID: 19 has a balance of 19000.0 Querying for accounts with a balance greater than 5000.0... Account ID: 6; balance is $6000.0 Account ID: 7; balance is $7000.0 Account ID: 8; balance is $8000.0 Account ID: 9; balance is $9000.0 Account ID: 10; balance is $10000.0 Account ID: 11; balance is $11000.0 Account ID: 12; balance is $12000.0 Account ID: 13; balance is $13000.0 Account ID: 14; balance is $14000.0 Account ID: 15; balance is $15000.0 Account ID: 16; balance is $16000.0 Account ID: 17; balance is $17000.0 Account ID: 18; balance is $18000.0 Account ID: 19; balance is $19000.0 Removing beans... End beanManaged.Client...
Using user user1 and password user1Password Looking up account 10020... Did not find 10020 Account 10020 being created; opening balance is $3000.0 Part A: Depositing $100.0 Current balance is $3100.0 Withdrawing amount greater than current balance. Expecting an exception... Received expected Processing Error: examples.ejb.basic.beanManaged.ProcessingErrorException: Request to withdraw $3110.0 more than balance 3100.0 in account 10020 Part B: Creating 5 new accounts... Created account: 9543031558300; balance is $0.0 Created account: 9543031558301; balance is $100.0 Created account: 9543031558302; balance is $200.0 Created account: 9543031558303; balance is $300.0 Created account: 9543031558304; balance is $400.0 5 accounts successfully created Querying for accounts with a balance greater than 200.0... Account 10020; balance is $3100.0 Account 9543031558303; balance is $300.0 Account 9543031558304; balance is $400.0 Removing accounts just created... Removed account: 9543031558300 Removed account: 9543031558301 Removed account: 9543031558302 Removed account: 9543031558303 Removed account: 9543031558304 End beanManaged.Servlet...
Copyright © 1998-2000 BEA Systems, Inc. All rights reserved.
Last updated 03/28/2000