]
Andrew Lee Rubinger updated EJBTHREE-1252:
------------------------------------------
Attachment: EJBTHREE-1252.zip
ALR: Review Unit Tests, apply to Branch_4_2 if valid.
@PersistenceContext injection from a different jar fails
--------------------------------------------------------
Key: EJBTHREE-1252
URL:
http://jira.jboss.com/jira/browse/EJBTHREE-1252
Project: EJB 3.0
Issue Type: Bug
Components: core
Affects Versions: AS 4.2.2.GA
Environment: JBoss-4.2.2GA, Windows 2003 Server, Sun Java 1.5
Reporter: jaikiran pai
Assigned To: Andrew Lee Rubinger
Attachments: Application EARs.zip, EJBTHREE-1252.zip, Logs.zip
I have a sample application with an EJB3 SLSB which is being injected with a
PersistenceContext which is configured in a different jar file as follows
package org.myapp.ejb.impl;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.jboss.annotation.ejb.RemoteBinding;
import org.myapp.ejb.AppManager;
@Stateless
@Remote ({AppManager.class})
@RemoteBinding (jndiBinding = "AppManagerBean")
public class AppManagerBean implements AppManager {
@PersistenceContext (unitName="myapp_ejb3.jar#EJB3Persistence")
private EntityManager em;
public String getVersion() {
System.out.println("EM is " + em);
return "1.0";
}
}
The application is deployed as an EAR file in the following structure:
EJB3Persistence.ear
|
|--- META-INF
| |
| |--- META-INF
| | |
| | |--- application.xml
| | |
| | |--- jboss-app.xml
|
|
|--- myapp_ejb3.jar (contains the persistence.xml)
| |
| |--- META-INF
| | |
| | |--- persistence.xml
|
|
|
|--- another_ejb3.jar (contains the SLSB)
| |
| |
| |--- META-INF
| |
| |--- org.myapp.ejb.impl.AppManagerBean
When this application is deployed in 4.2.2 the deployment fails with an exception. Part
of the exception is pasted below. The relevant log files (ConsoleLog_Fail.txt and
serverLog_fail.txt in the logs.zip file) are attached.
22:45:41,137 INFO [JmxKernelAbstraction] creating wrapper delegate for:
org.jboss.ejb3.stateless.StatelessContainer
22:45:41,152 INFO [JmxKernelAbstraction] installing MBean:
jboss.j2ee:ear=EJB3Persistence.ear,jar=another_ejb3.jar,name=AppManagerBean,service=EJB3
with dependencies:
22:45:41,152 INFO [JmxKernelAbstraction]
persistence.units:jar=pp_ejb3.jar,unitName=EJB3Persistence
22:45:41,152 INFO [EJB3Deployer] Deployed:
file:/D:/JBoss-4.2.2/jboss-4.2.2.GA/server/default/tmp/deploy/tmp53619EJB3Persistence.ear-contents/another_ejb3.jar
22:45:41,168 INFO [EARDeployer] Started J2EE application:
file:/D:/JBoss-4.2.2/jboss-4.2.2.GA/server/default/deploy/EJB3Persistence.ear
22:45:41,184 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
--- MBeans waiting for other MBeans ---
ObjectName:
jboss.j2ee:ear=EJB3Persistence.ear,jar=another_ejb3.jar,name=AppManagerBean,service=EJB3
State: NOTYETINSTALLED
I Depend On:
persistence.units:jar=pp_ejb3.jar,unitName=EJB3Persistence
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: persistence.units:jar=pp_ejb3.jar,unitName=EJB3Persistence
State: NOTYETINSTALLED
Depends On Me:
jboss.j2ee:ear=EJB3Persistence.ear,jar=another_ejb3.jar,name=AppManagerBean,service=EJB3
If i change the PersistenceContext injection, in the bean, to prefix 3 random letters to
the unitName as follows:
@PersistenceContext (unitName="XXXmyapp_ejb3.jar#EJB3Persistence")
private EntityManager em;
and deploy the application, then everything works fine (have also attached the successful
logs ConsoleLogs_Success.txt and serverLogs_Success.txt in the logs.zip file).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: