Hallo Leute,
bin gerad am einarbeiten in EJB3 und habe gleich eine Frage: Wie läuft mit der Vererbung? Soweit ich weiss, gibt es in einer JEE Anwendung auf der Logik-Seite (EJB's) eine Fassade. Der Client kann diese Objekte (oder auch Services) erreichen, indem er über den Namensdienst (JNDI) die Services aufsucht.
Wie sieht es nun aus, wenn sich innerhalb der EJB's Logik abspielt und auf verschiedene Session Beans zugegriffen werden soll. Muss dann jede Session Bean (auch wenn sie nicht vom Client aufgerufen wird) über den Namensdienst (lookup) aufgerufen werden? Ich frage mich dies, da ich momentan Probleme mit der Vererbung von Session Beans habe.
Folgendes Beispiel habe ich im Netz gefunden:
Ist solch eine Vererbung mit Session Beans wirklich möglich? Falls ja, muss ich wirklich jede Session Bean über JNDI aufrufen?
Vielen Dank im Voraus
bin gerad am einarbeiten in EJB3 und habe gleich eine Frage: Wie läuft mit der Vererbung? Soweit ich weiss, gibt es in einer JEE Anwendung auf der Logik-Seite (EJB's) eine Fassade. Der Client kann diese Objekte (oder auch Services) erreichen, indem er über den Namensdienst (JNDI) die Services aufsucht.
Wie sieht es nun aus, wenn sich innerhalb der EJB's Logik abspielt und auf verschiedene Session Beans zugegriffen werden soll. Muss dann jede Session Bean (auch wenn sie nicht vom Client aufgerufen wird) über den Namensdienst (lookup) aufgerufen werden? Ich frage mich dies, da ich momentan Probleme mit der Vererbung von Session Beans habe.
Folgendes Beispiel habe ich im Netz gefunden:
Code:
import java.io.Serializable;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
public abstract class PersistentBean implements Serializable, PersistentLocal {
@PersistenceContext(unitName="hrsystem",
type=PersistenceContextType.EXTENDED)
private EntityManager entityManager;
private Object object;
public abstract void setObject(Object object);
public abstract Object getObject();
public String update() {
entityManager.merge(object);
return "Success";
}
public String create() {
entityManager.persist(object);
return "Success";
}
public String delete() {
entityManager.remove(object);
return "Success";
}
}
Code:
import javax.ejb.Stateful;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
/**
*
* @author Administrator
*/
@Stateful
@Scope(value=ScopeType.SESSION)
@Name(value="employeeBean")
public class EmployeeBean extends PersistentBean {
/** Creates a new instance of EmployeeBean */
public EmployeeBean() {
}
private Object object;
public void setObject(Object object) {
this.object = object;
}
@In(value="employee") @Out(value="employee")
public Object getObject() {
return object;
}
}
Ist solch eine Vererbung mit Session Beans wirklich möglich? Falls ja, muss ich wirklich jede Session Bean über JNDI aufrufen?
Vielen Dank im Voraus