Hallo zusammen,
dass EJB-Technologie auf RMI-Konzept basiert, habe ich soweit verstanden(Methodenaufruf auf einer anderen JVM). Nun verstehe ich noch eine Sache nicht:
Das obige Bean bietet 3 Methoden an, die vom Client aufgerufen werden können. Desweiteren werden 3 EJBs injiziert.
Kann man eigentlich statt @EJB auch eine new-Methode aufrufen? Also:
Statt
einfach
Ich verstehe das so:
diese Injektionen finden ja lokal im Applikationsserver bzw. innerhalb des Beans "DataReader" statt, ich könnte doch eigentlich die Instantiierung von jeweils DataStoreRemote, DataStoreLocal und DataStore auch per new() implementieren?
Vielen Dank für Eure Hilfestellungen.
Viele Grüße aus Rheinland,
Eure Ratna
dass EJB-Technologie auf RMI-Konzept basiert, habe ich soweit verstanden(Methodenaufruf auf einer anderen JVM). Nun verstehe ich noch eine Sache nicht:
Code:
@Stateless
public class DataReader {
@EJB
private DataStoreRemote dataStoreRemote;
@EJB
private DataStoreLocal dataStoreLocal;
@EJB
private DataStore dataStore;
public String readDataFromLocalStore() {
return "LOCAL:" + dataStoreLocal.getData();
}
public String readDataFromLocalBeanStore() {
return "LOCALBEAN:" + dataStore.getData();
}
public String readDataFromRemoteStore() {
return "REMOTE:" + dataStoreRemote.getData();
}
}
Das obige Bean bietet 3 Methoden an, die vom Client aufgerufen werden können. Desweiteren werden 3 EJBs injiziert.
Kann man eigentlich statt @EJB auch eine new-Methode aufrufen? Also:
Statt
Code:
@EJB
private DataStore dataStore;
einfach
Code:
DataStore meinDataStore = new (DataStore);
Ich verstehe das so:
diese Injektionen finden ja lokal im Applikationsserver bzw. innerhalb des Beans "DataReader" statt, ich könnte doch eigentlich die Instantiierung von jeweils DataStoreRemote, DataStoreLocal und DataStore auch per new() implementieren?
Vielen Dank für Eure Hilfestellungen.
Viele Grüße aus Rheinland,
Eure Ratna