!!!Entity Packaging and EntityManagerFactory
This tutorial exposes you to a variety of things:
* persistence.xml files
* EntityManagerFactory

The EJB3 specification requires that persistence unit definitions and entity
classes and mappings are contained within a .jar archive.

!persistence.xml
Each .jar file contains a persistence.xml file.  The persistence.xml file
defines datasources, the entity manager's name, and additonal vendor specific
properties.  See the docbook that comes with this distribution for more
information, but you can see examples of it within
resources/em1/META-INF/persistence.xml

!EntityManagerFactory
EntityManagerFactory is a service that allows you to manually create and
managed EntityManager instances.  It is not recommended for you to use this
feature as you should be letting the application server manage EntityManager
instances.  EntityManagerFactory's are really for out-of-container
applications that use EJB persistence.

!EntityManager
For information on looking up EntityManagers from EAR/WAR files, please see the {{ear}} tutorial.

!Ear packaging
The EJB 3 specification defines a new module type for application.xml
{{{
<application>
  <module>
    <persistence>em1.jar</persistence>
  </module>
}}}

JBoss does not yet support this xml, so in the meantime, put .par files within
an ejb module. i.e...

{{{
<module>
   <ejb>em1.par</ejb>
</module>
}}}

!Building and Running
To build and run the example, make sure you have {{ejb3.deployer}} installed in JBoss 4.0.x and have JBoss running.  See the reference manual on how to install EJB 3.0.  
{{{
Unix:    $ export JBOSS_HOME=<where your jboss 4.0 distribution is>
Windows: $ set JBOSS_HOME=<where your jboss 4.0 distribution is>
$ ant
$ ant run

Buildfile: build.xml

prepare:

compile:

ejbjar:

run:
     [java] factory: oneFactory
     [java] manager: oneManager
     [java] factory: twoFactory
     [java] manager: twoManager
}}}
