Ich habe eine EAR-Anwendung mit drei Modulen:Inject von Remote-EJB-Schnittstelle in ein externes Modul
- Bohnen sind in "app-ejb" Modul
- Remote-Schnittstellen in "app-remote" sind
- Webdienste sind in "app-war"
- app-ejb und app-war verwenden app-remote als Bibliothek.
Alle sind in "app.ear" verpackt.
Das funktioniert gut, aber jetzt muss ich die gleichen Bohnen außerhalb der EAR-Anwendung verwenden, und die Injektion funktioniert nicht.
Ich habe in app-ejb:
@Stateless
@LocalBean
public class Services implements ServicesRemote {
[...]
}
und seine Remote-Schnittstelle in app-Fernbedienung:
@Remote
public interface ServicesRemote {
[...]
}
In meinem app-Krieg ich die Remote-Bohne problemlos injizieren können:
Wie auch immer in meiner externen EJB-Anwendung, als Stand-Alone-und die Verwendung der gleichen EJB-Remote als Bibliothek, wenn ich t ry die gleiche EJB wie diese zu injizieren:
@Stateless
@LocalBean
public class UseServicesFromAnotherApp {
@EJB
private ServicesRemote services;
[...]
}
Glassfish (4.1) geben Sie mir einen Fehler „Klasse [Lcom /[...]/ ServicesRemote; ] Nicht gefunden“.
dies erwartet? Wie kann ich die Remote-Bohne richtig spritzen?
können Sie bitte den gesamten Protokollfehler posten? – davidxxx
gibt es keine "ganze Fehlerprotokoll", die einzige Zeile, die ich bekomme ist: [2016-10-31T14: 38: 47.657-0300] [Glassfish 4.1] [SEVERE] [] [global] [tid: _ThreadID = 43 _ThreadName = admin-listener (3)] [timeMillis: 1477935527657] [levelValue: 1000] [[ Klasse [Lcom /..../ ServicesRemote; ] nicht gefunden. Fehler beim Laden [Klasse com .... UseServicesFromAnotherApp]]] –