[jboss-jira] [JBoss JIRA] Created: (EJBTHREE-1252) @PersistenceContext injection from a different jar fails

jaikiran pai (JIRA) jira-events at lists.jboss.org
Wed Apr 2 13:28:29 EDT 2008


@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: injection
    Affects Versions: AS 4.2.2.GA
         Environment: JBoss-4.2.2GA, Windows 2003 Server, Sun Java 1.5
            Reporter: jaikiran pai


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: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list