} }
Files Prepare Run Troubleshooting Related Topics
This example is comprised of a package that demonstrates an Enterprise Java Bean. The example uses an entity EJB called AccountBean.
The example demonstrates:
An entity EJB
Bean-managed persistence; the code in the EJB directly accesses the data storage
Application-defined exceptions
A client application
The client application performs the following steps:
Finds or creates 20 separate accounts.
Prints the balances for all accounts.
Finds all accounts with a balance greater than $5000.
Removes the accounts.
Directory Location:
MW_HOME/wlserver_10.3/samples/server/examples/src/examples/ejb/ejb20/basic/beanManaged/
(where MW_HOME is the directory containing your Oracle WebLogic Server installation)
File Click source files to view code. |
Description |
---|---|
AccountBean.java | Entity Bean that illustrates EJB Bean-managed persistence and transactions. The code in this file directly accesses the data storage. |
application.xml | Java EE standard enterprise application deployment descriptor. |
build.xml | Ant build file that contains targets for building and running the example. |
Client.java | Class file that demonstrates calling an entity EJB. |
EJBeanManagedClient.jsp | Java Server Page client that demonstrates Bean-Managed Persistence. |
ExamplesFooter.jsp | Java Server Page containing the Example Footer. |
ExamplesHeader.jsp | Java Server Page containing the Example Header. |
ProcessingErrorException.java | Class that is used with the WebLogic EJB container-managed example package. It is thrown if the caller attempts to withdraw more than a certain preset limit from the account. |
table.ddl | File that sets up tables and constraints in the database. |
web.xml | Java EE standard Web application deployment descriptor. |
weblogic-application.xml | Oracle WebLogic Server-specific enterprise application deployment descriptor. |
weblogic.xml | Oracle WebLogic Server-specific Web application deployment descriptor. |
Before working with this example:
This example is preconfigured to work with the PointBase database, included with the Oracle WebLogic Server distribution. You need to set up the database used for the persistent storage of the entity EJB. The PointBase database is started automatically in the background when you start the Examples server, but you should confirm that it is running and configure it to your specifications using the PointBase console; see Opening the PointBase Console for instructions. The persistent storage is completely invisible to the client; the actual storage is handled by the EJB directly and not the container.
With database persistence, each instance of an EJB is written to a row in a table. If you want or need to run this example with Oracle, see Oracle WebLogic Server Examples Database Guide for instructions.
No special configuration is required for this example because the examples-dataSource-demoXAPool
datasource
is preconfigured. To verify that this datasource is configured and deployed, you may follow the steps below:
To build the example, follow these steps:
The commands above build the example and place the files in the following locations in your Oracle WebLogic Server distribution:
Running the build script builds the EJB in split development directory format where compiled and generated classes are placed in SAMPLES_HOME\server\examples\build\ejb20BeanManagedEar and non-compiled files remain within the source directory of the example. For more information on split development directory, see Developing Applications for Oracle WebLogic Server.
Additional information on using the build scripts is found in More About Building Examples.
The following output is displayed:
Beginning beanManaged.Client... Creating account with id: ID: 0 Creating account with id: ID: 1 Creating account with id: ID: 2 Creating account with id: ID: 3 Creating account with id: ID: 4 Creating account with id: ID: 5 Creating account with id: ID: 6 Creating account with id: ID: 7 Creating account with id: ID: 8 Creating account with id: ID: 9 Creating account with id: ID: 10 Creating account with id: ID: 11 Creating account with id: ID: 12 Creating account with id: ID: 13 Creating account with id: ID: 14 Creating account with id: ID: 15 Creating account with id: ID: 16 Creating account with id: ID: 17 Creating account with id: ID: 18 Creating 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...
This example does not allow you to query the ACCOUNTS database table filled with values because it executes quickly and removes entries when it is finished. If the values were not remoeved, a
simple SQL query, such as SELECT * FROM ACCOUNTS, would display the contents of the table.
(Internet connection required.)