Programming WebLogic Enterprise JavaBeans, Version 3.0

      

Using Oracle Kodo with WebLogic Server

This chapter provides an overview of developing, deploying, and configuring an Oracle Kodo application using WebLogic Server. The following topics are covered:

 


Overview of Kodo

Oracle Kodo is an implementation of Sun Microsystem's Java Persistence API (JPA) specification and Java Data Objects (JDO) specification for transparent data objects. Oracle Kodo is available as a stand-alone product and is integrated within WebLogic Server.

This chapter describes how to implement an application using JPA or JDO in WebLogic Server. Within WebLogic Server, the JPA and JDO implementations are part of WebLogic Servers overall Enterprise Java Bean 3.0 persistence implementation.

For general information on creating an application using JPA and JDO, see the Kodo Developer's Guide.

 


Creating a Kodo Application

The first step in implementing a Oracle Kodo application on WebLogic Server is to write the application code. The following resources provide general information on writing an application that uses Oracle Kodo to manage persistence of your data:

Once you are familiar with the steps involved in creating applications using Oracle Kodo and have created your application, the following sections describe how to deploy and configure your application using WebLogic Server.

 


Using Different Kodo Versions

If you choose to use a different version of Kodo than the one provided by default within WebLogic Server, use the FilteringClassLoader to exclude the Kodo and OpenJPA libraries from the component classpath.

The following example shows how to exclude these class libraries using weblogic-application.xml:

<prefer-application-packages>

<package-name>org.apache.openjpa.*</package-name>
<package-name>kodo.*</package-name>
</prefer-application-packages>

For more information on filtering classloaders, see “Understanding WebLogic Server Application Classloading” in Developing Applications With WebLogic Server.

 


Configuring Persistence

The following sections describe how to configure persistence.

 

Editing the Configuration Property Files

Oracle Kodo uses two XML files, listed in the following table, to define configuration properties.

Table 6-1 Persistence Configuration Files
Configuration File Description
persistence.xml Kodo configuration parameters defined by the JPA functional specifications. This file is required. The XML schema for structuring this configuration is available at: http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd. For more information, see “Chapter 6. Persistence” in the Kodo Developers Guide.
persistence-configuration.xml Configuration parameters that are specific to Oracle Kodo. This file is not required when deploying an application. If specified, still provide a persistence.xml descriptor. If you do not include persistence-configuration.xml in your deployment, WebLogic Server will create reasonable defaults for each configuration parameter. The XML schema for structuring this configuration is available at: http://www.bea.com/ns/weblogic/persistence-configuration.xsd.

The weblogic.jar file must be in the CLASSPATH when using the persistent-configuration.xml file in the Java SE environment.

Edit the contents of the configuration files as required to configure persistence. Persistence units can be packaged as part of a WAR or EJB JAR file, or can be packaged as a JAR file that can be included in a WAR or EAR file. The files should be available as resources in the META-INF directory of the root of the persistence unit. For container environments, the root of a persistence unit may be one of the following:

 

Using the Configuration Files Together

The following provide considerations for using the configuration files together.

 

Configuring Plug-ins

Because Kodo is a highly customizable environment, many configuration properties relate to the creation and configuration of system plugins. Plugin properties have a syntax very similar to that of Java annotations. They allow you to specify both what class to use for the plugin and how to configure the public fields or bean properties of the instantiated plugin instance.

Essentially, plugins are defined using a series of properties using name/value pairs. For example, the following shows how a plugin is defined within persistence.xml:

<properties>

<property name='myplugin.DataCache' value='com.bea.MyDataCache(CacheSize=1000, RemoteHost='CacheServer)'>
</properties>

 


Deploying a Kodo Application

Before you deploy a Kodo application, perform the following tasks:

Once completed, you are ready to deploy your application on WebLogic Server. Once your application is configured, a Kodo application is deployed just like any other application. For complete information on deploying applications, see Deploying Applications on Oracle WebLogic Server.

 


Configuring a Kodo Application

You cannot create a new persistence unit from the Administration Console. To create a new persistence unit, edit persistence.xml manually.

Once you have deployed your Kodo application, you can alter the configuration parameters defined in persistence.xml and persistence-configuration.xml.

The following sections describe how to configure a Kodo application with or without using the Administration Console.

 

Using the Administration Console

If your deployed application has defined a persistence unit within persistence.xml, you can access configuration from within the Administration Console using the following:

  1. Select Deployments

  2. Select the name of the module containing a persistence unit that you want to configure.

  3. Select the Configuration tab.

  4. Select the Persistence tab.

  5. From the list of persistence units, select the one that you want to configure.

From here, you can access all of the Kodo persistence parameters that can be edited from the Administration Console.

 

Configuring Kodo Without Using the Administration Console

If you need to alter parameters that are not available using the Administration Console, use one of the following methods: