2012-09-27 5 views
2

mon application web contient quelques ejbs de session avec état 2.x et sans état. mais contrairement aux versions précédentes de jboss (ainsi que d'autres serveurs d'applications majeurs), je ne peux pas spécifier un nom ejb jndi dans jboss 7.1.1. J'ai suivi leurs docs en éliminant jboss.xml en faveur de jboss-ejb3.xml, ainsi qu'en démarrant le serveur d'applications en mode profil complet.comment définir des noms spécifiques jjdi ejb dans jboss 7.1.1

<jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd 
        http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd" 
        version="3.1" 
        impl-version="2.0"> 
    <enterprise-beans> 
     <session> 
     <ejb-name>MyEJB</ejb-name> 
     <jndi-name>MyEJB_JNDI_NAME</jndi-name> 
     </session> 
    </enterprise-beans> 
</jboss:ejb-jar> 

cependant, le jndi-name dans jboss-ejb3.xml ne prend pas en attente, me empêcher de mettre mon nom JNDI ejb personnalisé. Est-ce que quelqu'un sait comment le faire correctement?

Répondre

7

<jndi-name> est plus pris en charge dans JBoss AS 7. De this JIRA:

En AS7 nous ne soutenons plus contraignant aux noms JNDI personnalisés pour EJB. Donc, les beans sont toujours liés à java: global, java: app et java: modules namespaces. L'élément <jndi-name> pour l'élément de session bean n'est plus pris en charge. Cette approche a-t-elle été mise en œuvre pour se conformer à la spécification j2ee 6?

+0

aussi, parce que le schéma jboss-ejb3.xml prend toujours en charge le nœud , il est là pour spécifier un nom jndi tant qu'il respecte les trois préfixes que vous avez spécifiés? – user1056027

+0

Où le voyez-vous? Si vous regardez le [ejb-jar_3_1.xsd] (http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd), le '' n'est nulle part, mais ils mentionnent un '' avec cette précision pour les beans session: "_... peut être utilisé pour fournir des informations de déploiement spécifiques au fournisseur telles que le jndi-name physique de l'interface home/business distante du bean session.Cet élément n'est pas obligatoirement pris en charge par toutes les implémentations Toute utilisation de cet élément est non portable_ ". Ce n'est ni dans [jboss-ejb3-2_0.xsd] (http://goo.gl/CNSy0) – betomontejo

+1

vous avez raison, il n'y a pas dans le jboss-ejb3.xml. donc j'ai choisi d'utiliser l'approche suivante dans jboss 'standalone.xml: user1056027

Questions connexes