Hello.
Environment TOMEE 1.6.0 and OpenEJB Provided
<dependencies>
<!-- tomee-->
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>apache-tomee</artifactId>
<version>1.6.0</version>
<classifier>webprofile</classifier>
<type>zip</type>
<scope>provided</scope>
</dependency>
Use Case 1#
Name aplication "App One" ;
"App One" have the class EJB "UsuariosFacadeLocal" in package
com.appone.businesslayer.ejbs.local
Code Example :
package com.appone.businesslayer.ejbs;
import com.appone.businesslayer.ejbs.local.UsuariosFacadeLocal;
import javax.ejb.Stateless;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
public class UsuariosFacade implements UsuariosFacadeLocal {
@Override
public String hello() {
return this.getClass().getCanonicalName();
}
}
And deployed and run successful
Another app inside same server Tomee 1.6.0
Name aplication "App Two" ;
"App TWO" have the class EJB "UsuariosFacadeLocal" in package
com.apptwo.businesslayer.ejbs.local
And deployed and run ERROR:
Grave: Application cannot be deployed as it contains deployment-ids which
are in use: app: /home/programacion/animotion
app/App1/target/AppOne-1.0-SNAPSHOT
abr 15, 2014 8:48:12 PM org.apache.openejb.assembler.classic.Assembler
createApplication
Grave: DeploymentId already used: UsuariosFacade
abr 15, 2014 8:48:12 PM org.apache.tomee.catalina.TomcatWebAppBuilder
startInternal
Grave: Unable to deploy collapsed ear in war
StandardEngine[Catalina].StandardHost[localhost].StandardContext[/AppOne]
org.apache.openejb.DuplicateDeploymentIdException: Application cannot be
deployed as it contains deployment-ids which are in use: app:
/home/programacion/animotion app/App1/target/AppOne-1.0-SNAPSHOT
UsuariosFacade
I can solved this situation with add anotation "name" in second App
@Stateless(name = "UsuariosFacadeAppTwo")
in EAR must not have the same class names, I understand. ,
But in 2 different app?
Questions:
1) Its Bug ?
2) I am making a mistake in the specification?
3) Should this be possible? 2 app, 2 different EJB class
Attached project, if needed to reproduce the situation
Sorry for google traductor,