Overview
Span | ||
---|---|---|
|
...
|
...
|
...
|
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. The source for this example is in the "injection-of-entitymanager" |
...
directory |
...
located |
...
in |
...
the |
...
...
available |
...
on |
...
the |
...
download |
...
page. |
...
Div | ||
---|---|---|
| ||
The Code
The Stateful bean
Wiki Markup |
---|
}{div} h1. The Code h2. The Stateful 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
...
...
...
...
...
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
...
...
...
,
...
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} |