Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Overview

unmigrated-inline-wiki-markup

...

{span:style=float: right; margin-left: 20px;}
{html}

<object width="400" height="250"><param name="movie" value="http://www.youtube.com/v/s4uiIoAehgQ?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/s4uiIoAehgQ?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"></embed></object>

{html}
{span}

Wiki Markup

{div}

Shows use of *@PersistenceContext* to have an *EntityManager* with an *EXTENDED* persistence context injected into a @Stateful bean.  An EJB 3 *@Entity* bean is used with the EntityManager to create, persist and merge data to a database.

If you need to use a TRANSACTION persistence context, see [this example|Testing Transactions Example].

_The source for this example is in the "injection-of-entitymanager" directory located in the [openejb-examples.zip|OPENEJB:Download] available on the download page._

{div}
Wiki Markup

{div:style=clear:both;}{div}

h1. 

The

...

Code

...

The

...

Stateful bean

Wiki Markup
 bean
{snippet:id=code|url=openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/MoviesImpl.java|lang=java}

h2. 

The

...

Entity bean

Wiki Markup
 bean
{snippet:id=code|url=openejb3/examples/injection-of-entitymanager/src/main/java/org/superbiz/injection/jpa/Movie.java|lang=java}

h2. 

The

...

persistence unit

Wiki Markup
 unit

{snippet:id=code|url=openejb3/examples/injection-of-entitymanager/src/main/resources/META-INF/persistence.xml|lang=xml}

h1. 

Writing

...

a

...

unit

...

test

...

for

...

the example

Wiki Markup
 example

{snippet:id=code|url=openejb3/examples/injection-of-entitymanager/src/test/java/org/superbiz/injection/jpa/MoviesTest.java|lang=java}

Curious

...

on

...

the

...

InitialContext

...

parameters

...

used?

...

See

...

the

...

Injection

...

of

...

DataSource

...

Example

...

for

...

an

...

explanation

...

of

...

how

...

any

...

Resource

...

can

...

be

...

configured

...

via

...

properties

...

in

...

the

...

TestCase

...

itself

...

or

...

via

...

an

...

openejb.xml

...

file.

...

Running

Running the example is fairly simple. In the "injection-of-entitymanager"

...

directory

...

of

...

the

...

examples

...

zip

...

,

...

just

...

run:

...

$

...

mvn

...

clean

...

install

...

Which

...

should

...

create

...

output

...

like

...

the

...

following.

{
No Format
}
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.superbiz.injection.jpa.MoviesTest
Apache OpenEJB 3.0    build: 20080408-04:13
http://openejb.apache.org/
INFO - openejb.home = /Users/dblevins/work/openejb-3.0/examples/injection-of-entitymanager
INFO - openejb.base = /Users/dblevins/work/openejb-3.0/examples/injection-of-entitymanager
INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
INFO - Configuring Service(id=movieDatabaseUnmanaged, type=Resource, provider-id=Default JDBC Database)
INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
INFO - Configuring Service(id=Default JDK 1.3 ProxyFactory, type=ProxyFactory, provider-id=Default JDK 1.3 ProxyFactory)
INFO - Found EjbModule in classpath: /Users/dblevins/work/openejb-3.0/examples/injection-of-entitymanager/target/classes
INFO - Configuring app: /Users/dblevins/work/openejb-3.0/examples/injection-of-entitymanager/target/classes
INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
INFO - Configuring PersistenceUnit(name=movie-unit)
INFO - Loaded Module: /Users/dblevins/work/openejb-3.0/examples/injection-of-entitymanager/target/classes
INFO - Assembling app: /Users/dblevins/work/openejb-3.0/examples/injection-of-entitymanager/target/classes
INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl)
ERROR - JAVA AGENT NOT INSTALLED. The JPA Persistence Provider requested installation of a ClassFileTransformer which requires
        a JavaAgent.  See http://openejb.apache.org/3.0/javaagent.html
INFO - Jndi(name=MoviesLocal) --> Ejb(deployment-id=Movies)
INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
INFO - Deployed Application(path=/Users/dblevins/work/openejb-3.0/examples/injection-of-entitymanager/target/classes)
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.095 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
{noformat}