Sample Application for Java EE Application Servers

This page provides a sample application that demonstrates how to configure and run the Oracle TimesTen In-Memory Database with several different Java EE Application Servers. The application is a multi-user throughput benchmark program that uses EJB 3.0 client-server application architecture.

The application has been tested with the following Java EE Application Servers:

The sample application is available in the quickstart/sample_code/j2ee_orm directory. It includes the following source files:

  Source file Description
This is the POJO (Plain Old Java Object) class. An instance of this class corresponds to a unique row in the TPTBM table. Annotations are used to associate properties of the class with the database table.
Each instance of the Tptbm class contains an embedded instance of the TptbmPKey class. TptbmPKey represents the unique ID for a Tptbm. The TPTBM table has a composite primary key consisting of the VPN_NB and VPN_ID table columns. TptbmPKey is mapped to these key columns through the use of annotations.
TptbmSession is the remote interface used by application server clients to manage instances of the Tptbm class.
TptbmSessionBean is a stateless EJB 3.0 session bean that runs in the application server's container. It implements the TptbmSession interface and manages instances of the Tptbm class via the EntityManager API.
CommonClient is the base abstract class from which all concrete client classes inherit. CommonClient implements the high level benchmark setup and execution logic. CommonClient also defines the following abstract methods which are implemented by the concrete client classes using a specific persistence API:
  • open ()
  • close ()
  • txnBegin ()
  • txnCommit ()
  • txnRollback ()
  • read ()
  • insert ()
  • update ()
  • deleteAll ()
  • populate ()
Implements an application server client that uses the TptbmSession interface to communicate with a stateless TptbmSessionBean class running on the server. The TptbmSessionBean class uses the EntityManager API for persistence.
JBoss Application Server uses Hibernate as its internal persistence provider. Therefore the sample application for JBoss Application Server uses the included Hibernate dialect class called TimesTenDialect1122.

The dialect has been optimized for SQL features in TimesTen. It is not included in current versions of the Hibernate distribution. The TimesTenDialect1122 class is compiled and packaged into the EJB jar file (of the sample application) for JBoss application server.

This is the recommended dialect for applications that use TimesTen version 11.2.2 or greater.

Compile and Run

Click the corresponding link below to learn how to compile and run the sample application with different application servers:

WebLogic Application Server

GlassFish Application Server

JBoss Application Server

WebSphere Application Server

For more information on Java programming with Oracle TimesTen, refer to the Oracle TimesTen In-Memory Database Java Developer's Guide.