|
WebLogic Server 6.0 Code Examples, BEA Systems, Inc. |
See:
Description
Interface Summary | |
Account | The methods in this interface are the public face of AccountBean. |
AccountHome | This interface is the home interface for the EJBean AccountBean. |
Class Summary | |
AccountBean | AccountBean is an EntityBean. |
Client | This class demonstrates calling an entity EJBean, followed by two exercises: |
Exception Summary | |
ProcessingErrorException | This class is used with the WebLogic EJBean container-managed example package. |
This example is a package that demonstrates an Enterprise JavaBean. The example is an entity EJBean called AccountBean.
The example demonstrates:
To get the most out of this example, first read through the source code files.
You'll need to set up the persistent storage of the EJBean. You'll use a database for the persistent storage of the entity EJBean. Note that the persistent storage is completely invisible to the client; the actual storage is handled automatically by the container and not by the EJBean. All database properties, such as the login name and password, are defined in the connection pool. A preconfigured connection pool is included in the example server.
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 will build the example and place the files in the correct locations in your WebLogic Server distribution:
Running the build script places the EJB in /config/examples/applications, where it automatically deploys once the server is started. If you are already running the server and build another EJB, it is automatically placed in this directory and instantly deployed.
Additional information on using the build scripts is found in Building Enterprise JavaBean examples
A list of deployed EJBs displays.
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. If you're using a database other than Cloudscape, you'll need to create the table in your database using an appropriate SQL statement such as
"create table ejbAccounts (id varchar(15), bal float, type varchar(15))"
For your convenience, a sample connection pool, called demoPool is included with this example. You can use this connection pool with any of the EJB examples.
You'll need to:
# In the left-hand pane, expand the Services node and choose JDBC.
# Click demoPool to display the configuration information in the right-hand pane.
# Click the Connections tab and review the attribute settings to make sure that they are correct.
In particular, make sure that the URL and Driver Classname attributes are set for the correct database. This example connection pool is preconfigured for Cloudscape. For other databases, you will need to set an appropriate url and driver, such as
URL=jdbc:weblogic:oracle,\ DriverName=weblogic.jdbc.oci.Driver,\
In this example, the fileRealm for the access control list (ACL) is preconfigured to allow access for everyone.
If you need more information about how to use connection pools, read Programming WebLogic JDBC.
$ java examples.ejb.basic.containerManaged.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.containerManaged.Client "t3://WebLogicURL:Port"
where:
Beginning containerManaged.Client... Starting Part A of the example... Creating account 10020 with a balance of 3000.0 account type Savings... Account 10020 successfully created Part A: Depositing $2000 Current balance is $5000.0 Attempting to withdraw an amount greater than current balance. Expecting an exception... Received expected Processing Error: examples.ejb.basic.containerManaged.ProcessingErrorException: Request to withdraw $5001.0; is more than balance $5000.0 in account 10020 Removing account... End Part A of the example... Starting Part B of the example... Creating account ID: 0 with a balance of 0.0 account type null... Account ID: 0 successfully created Creating account ID: 1 with a balance of 1000.0 account type Savings... Account ID: 1 successfully created Creating account ID: 2 with a balance of 2000.0 account type Savings... Account ID: 2 successfully created Creating account ID: 3 with a balance of 3000.0 account type Savings... Account ID: 3 successfully created Creating account ID: 4 with a balance of 4000.0 account type Savings... Account ID: 4 successfully created Creating account ID: 5 with a balance of 5000.0 account type null... Account ID: 5 successfully created Creating account ID: 6 with a balance of 6000.0 account type Savings... Account ID: 6 successfully created Creating account ID: 7 with a balance of 7000.0 account type Savings... Account ID: 7 successfully created Creating account ID: 8 with a balance of 8000.0 account type Savings... Account ID: 8 successfully created Creating account ID: 9 with a balance of 9000.0 account type Savings... Account ID: 9 successfully created Creating account ID: 10 with a balance of 10000.0 account type null... Account ID: 10 successfully created Creating account ID: 11 with a balance of 11000.0 account type Savings... Account ID: 11 successfully created Creating account ID: 12 with a balance of 12000.0 account type Savings... Account ID: 12 successfully created Creating account ID: 13 with a balance of 13000.0 account type Savings... Account ID: 13 successfully created Creating account ID: 14 with a balance of 14000.0 account type Savings... Account ID: 14 successfully created Creating account ID: 15 with a balance of 15000.0 account type null... Account ID: 15 successfully created Creating account ID: 16 with a balance of 16000.0 account type Savings... Account ID: 16 successfully created Creating account ID: 17 with a balance of 17000.0 account type Savings... Account ID: 17 successfully created Creating account ID: 18 with a balance of 18000.0 account type Savings... Account ID: 18 successfully created Creating account ID: 19 with a balance of 19000.0 account type Savings... Account ID: 19 successfully created 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 Querying for an account with zero balance... Account ID: 0; balance is zero Querying for accounts with a null account type Account ID: 0; account type is null Account ID: 5; account type is null Account ID: 10; account type is null Account ID: 15; account type is null Removing beans... End Part B of the example... End containerManaged.Client...
|
Documentation is available at http://e-docs.bea.com/wls/docs60 |