Ich habe eine ear
-Anwendung, die in WebSphere Liberty 8.5 bereitgestellt wird. Die Anwendung enthält ein EJB-Modul, in dem ich einige EJBs deklariert habe. Meine EJBs sind in der folgenden Art und Weise erklärt:So ändern Sie EJB-JNDI-Bindungen in WebSphere Liberty
public interface MyEjb...
@Local
public interface MyEjbLocal extends MyEjb...
@Remote
public interface MyEjbRemote extends MyEjb...
@Stateless
public class MyEjbBean implements MyEjbLocal, MyEjbRemote...
Wenn Anwendung gestartet ich sehen kann, in WebSphere Liberty-log, dass diese EJB die folgenden JNDI Namen bekommt:
java:global/my-ear-app-name/my-ejb-module-name/MyEjbBean!my.package.name.MyEjbLocal,
java:global/my-ear-app-name/my-ejb-module-name/MyEjbBean!my.package.name.MyEjbRemote
Ich brauche diese Namen zu ändern. Wenn ich es richtig verstehe, kann es in der Datei ibm-ejb-jar-bnd.xml
getan werden. Ich habe eine ibm-ejb-jar-bnd.xml
Datei im Verzeichnis META-INF
meines EJB-Moduls jar
Datei. Diese Datei enthält die folgende Konfiguration:
<session name="MyEjbBean" simple-binding-name="my/new/jndi/name"></session>
jedoch diese Konfiguration hat keine Wirkung: wenn ich das Ohr Anwendung beginne ich immer noch die Standard-JNDI-Bindungen im Protokoll sehen.
Ich weiß, dass ibm-ejb-jar-bnd.xml
korrekt von WebSphere Liberty abgeholt wird, weil ich bei der Angabe eines falschen Bean-Namens im Tag <session>
in WebSphere log eine Warnung erhalte.
Wie kann ich EJB JNDI-Bindungen in WebSphere Liberty ändern?
Diese Namen der Java EE-Spezifikation vorgeschrieben sind:
Es wird unter doc (Suche nach "simple-binding") fallen. Warum musst du sie ändern? Was versuchst du hier zu erreichen? –
@Steve Die tatsächliche JNDI-Bindung sieht folgendermaßen aus: 'java: global/my-ohr-app-name-1.2.3/my-ejb-modulname-1.2.3/MyEjbBean! My.package.name.MyEjbLocal '. Sowohl der Anwendungsname als auch der EJB-Modulname enthalten die aktuelle Version. Die Bindung ändert sich also jedes Mal, wenn sich die Version ändert. – Alexey
Versuchen Sie, den ' ... application-name>' in der application.xml und den ' ... module-name>' in den verschiedenen Deployment-Deskriptoren des Moduls (ejb-jar .xml und web.xml). Stellen Sie sicher, dass diese DDs Java EE 7-Versionen enthalten. –