2017-07-27 7 views
0

にJNDIのための動的EJBモジュール名を取得我々はEAP 7 にJNDIのための動的EJBモジュール名を取得することができますどのように我々は、我々はモジュール名にがEAP 7

  • を取得するには、スタックオーバーフローhereにポストに見てきましたejb-jar.xmlでオーバーライドしたくありません。
  • mavenのモジュール名をカスタマイズしたくないので、 が修正されました。
  • も私たちが見ているが、我々は現在、 が

URL url = clazz.getResource(""); 
    String [] strArray = url.getPath().split("/"); 
    for (int i=0; i<strArray.length; i++){ 
     if (strArray[i].contains(".jar")){ 
       moduleName = strArray[i].substring(0, strArray[i].length() - 4); 
       break; 
     } 
} 

jndiName = "java:app/"+moduleName+"/"+clazz.getSimpleName()+"!"+clazz.getCanonicalName(); 

を実装しているようにループでループしているきれいな方法

を使用してEJBモジュール名をオーバーライド

java:app/<module-name>/<bean-name>!<fully-qualified-bean-interface-name> 

答えて

0

がありますejb-jar.xml

アプリケーション名については
<?xml version="1.1" encoding="UTF-8"?> 
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd" 
     version="3.1"> 
    <module-name>my-module</module-name> 
</ejb-jar> 

application.xmlで使用アプリケーション名をオーバーライド

上記の溶液は、EAP 7

でリモートEJBをルックアップするためにJNDI名を作成中のアプリケーションのバージョン管理情報は、例えばその依存関係から分離することに役立ちます
関連する問題