WebLogic Server 6.1 Code Examples, BEA Systems, Inc.

Package examples.jconnector.simple

This example is a package that demonstrates the use of an entity EnterpriseJavaBean to interact with a J2EE Connector resource adapter.

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.
Servlet This servlet is a program similar to that in the Client example.
 

Exception Summary
ProcessingErrorException ProcessingErrorException is thrown if the caller attempts to withdraw more than a certain preset limit from the account.
 

Package examples.jconnector.simple Description

This example is a package that demonstrates the use of an entity EnterpriseJavaBean to interact with a J2EE Connector resource adapter. The exampleis an entity EJBean called AccountBean.In this example, which uses the Black Box resource adapter from the Sunreference implementation, the resource adapter does not use the CommonClient Interface (CCI). Instead, it uses JDBC to interact with a DBMS.

The example demonstrates:

Client application

TheClient application performs these steps:
  1. Finds or creates 20 separate accounts
  2. Prints the balances for all accounts
  3. Finds all accounts with a balance greater than $5000
  4. Removes the accounts
The Servlet runs in a similar fashion to theClientexample. Call the servlet using an appropriate URL as described in theservletdirections. See Run the example forsample servlet output.

To get the most out of this example, first read through the source codefiles.

Start with the XML deployment files ejb-jar.xmland weblogic-ejb-jar.xml to figure outthe general structure of the EJBean and which classes are used for thedifferent objects and interfaces. Then, look at Clientcode to see how the application works.

As you'll use a database for the persistent storage of the entity EJBean,you will need to set it up. Note that the persistent storage is completelyinvisible to the client; the actual storage is handled by the EJBean directlyand not the container.

These three sections cover what to do:

  1. Build the Example
  2. Configure the Server
  3. Run the Example

Build the Example

Set up your development shell as described in Settingup your environment.

The build script is build.xml.

Run the build script as shown:
        $ant

This script builds the example and places the files in the correct locationsin 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 alreadyrunning the server and build another EJB, it is automatically placed inthis directory and instantly deployed.

Additional information on using the build script is found in BuildingEnterprise JavaBean examples

Configure the Server

  1. Start the WebLogic Server.
  2. Start the AdministrationConsole.
  3. Click to expand the Deployments node in the left pane and select EJB Deployments.

  4. A list of deployed EJBs displays.

  5. Choose the appropriate deployment unit from the list.
  6. Select the Target tab in the right-hand pane.
  7. Verify that the EJB is deployed on the examplesServer.

  8. This example contains a pre-configured servlet running in a browsercalled examplesWebApp.

  9. Click the Web Applications node in the left-hand pane and select examplesWebApp.
  10. In the right-hand pane, select the Target tab, and verify that the examplesWebAppis deployed on the examplesServer.
  11. Set the database persistence.

  12. With database persistence, each instance of an EJBean is writtento a row in a table. The table (ejbAccounts)must be created and exist in the database before the example is run. Ifyou are using the evaluation copy of Cloudscape that is included with WebLogic,this table has already been created in the "demo" database. If you areusing a database other than Cloudscape, you will need to create the tablein your database using an appropriate SQL statement such as:

    "create table ejbAccounts (id varchar(15), bal float, type varchar(15))"
  13. Setup a connection pool in the AdministrationConsole .

  14. For your convenience, a sample connection pool, called demoPoolis included with this example. You can use this connection pool with anyof the EJB examples.

    You will need to:

    In this example, the fileRealm for the access control list (ACL) is pre-configuredto allow access for everyone.

    If you need more information about how to use connection pools, readProgrammingWebLogic JDBC.

Run the example

  1. Run the client in a separate command line window. Set up your client asdescribed in Setting up yourenvironment, and then run the client by entering:
  2. $ java examples.jconnector.simple.Client "t3://WebLogicURL:Port"
    where:
     
    WebLogicURLis the Domain address of the WebLogic Server
    Port is thePort that is listening for connections (weblogic.system.ListenPort)
  3. If you are running the Clientexample, you should get output similar to this from the client application:
  4. Beginning jconnector.Client...Trying to find account with id: ID: 0Trying to find account with id: ID: 1Trying to find account with id: ID: 2Trying to find account with id: ID: 3Trying to find account with id: ID: 4Trying to find account with id: ID: 5Trying to find account with id: ID: 6Trying to find account with id: ID: 7Trying to find account with id: ID: 8Trying to find account with id: ID: 9Trying to find account with id: ID: 10Trying to find account with id: ID: 11Trying to find account with id: ID: 12Trying to find account with id: ID: 13Trying to find account with id: ID: 14Trying to find account with id: ID: 15Trying to find account with id: ID: 16Trying to find account with id: ID: 17Trying to find account with id: ID: 18Trying to find account with id: ID: 19Account: :ID: 0 has a balance of 0.0Account: :ID: 1 has a balance of 1000.0Account: :ID: 2 has a balance of 2000.0Account: :ID: 3 has a balance of 3000.0Account: :ID: 4 has a balance of 4000.0Account: :ID: 5 has a balance of 5000.0Account: :ID: 6 has a balance of 6000.0Account: :ID: 7 has a balance of 7000.0Account: :ID: 8 has a balance of 8000.0Account: :ID: 9 has a balance of 9000.0Account: :ID: 10 has a balance of 10000.0Account: :ID: 11 has a balance of 11000.0Account: :ID: 12 has a balance of 12000.0Account: :ID: 13 has a balance of 13000.0Account: :ID: 14 has a balance of 14000.0Account: :ID: 15 has a balance of 15000.0Account: :ID: 16 has a balance of 16000.0Account: :ID: 17 has a balance of 17000.0Account: :ID: 18 has a balance of 18000.0Account: :ID: 19 has a balance of 19000.0Querying for accounts with a balance greater than 5000.0...Account ID: 6; balance is $6000.0Account ID: 7; balance is $7000.0Account ID: 8; balance is $8000.0Account ID: 9; balance is $9000.0Account ID: 10; balance is $10000.0Account ID: 11; balance is $11000.0Account ID: 12; balance is $12000.0Account ID: 13; balance is $13000.0Account ID: 14; balance is $14000.0Account ID: 15; balance is $15000.0Account ID: 16; balance is $16000.0Account ID: 17; balance is $17000.0Account ID: 18; balance is $18000.0Account ID: 19; balance is $19000.0Removing beans...End jconnector.Client...
  5. If you are running the servlet example, you should get output similar tothis:
  6. Using user user1 and password user1PasswordLooking up account 10020...Did not find 10020Account 10020 being created; opening balance is $3000.0Part A: Depositing $100.0Current balance is $3100.0Withdrawing amount greater than current balance. Expecting anexception...Received expected Processing Error:examples.jconnector.simple.ProcessingErrorException: Request towithdraw $3110.0 more than balance 3100.0 in account 10020Part B: Creating 5 new accounts...Created account: 9543031558300; balance is $0.0Created account: 9543031558301; balance is $100.0Created account: 9543031558302; balance is $200.0Created account: 9543031558303; balance is $300.0Created account: 9543031558304; balance is $400.05 accounts successfully createdQuerying for accounts with a balance greater than 200.0...Account 10020; balance is $3100.0Account 9543031558303; balance is $300.0Account 9543031558304; balance is $400.0Removing accounts just created...Removed account: 9543031558300Removed account: 9543031558301Removed account: 9543031558302Removed account: 9543031558303Removed account: 9543031558304End jconnector.Servlet...


Documentation is available at
http://e-docs.bea.com/wls/docs61

Copyright © 2001 BEA Systems, Inc. All Rights Reserved.