Domanda

Ho 2 applicazioni - un orecchio contenente EJB3.0 e altri suoi clienti primavera. Distribuiti entrambi sullo stesso application server Websphere 7 pezzi cioè stessa JVM.

Qui ci sono un paio di parti client:

applicationContext.xml:

<bean id="ruleService" class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean">
    <property name="jndiName" value="com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness"/>
    <property name="businessInterface" value="com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness"/>
    <property name="jndiEnvironment">  
          <props>  
             <prop key="java.naming.factory.initial">com.ibm.websphere.naming.WsnInitialContextFactory</prop>  
             <prop key="java.naming.provider.url">corbaloc:iiop:localhost:2809</prop>  
             </props>  
        </property>  
</bean>

Codice cliente frammento di codice:

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
Customer_Management_Service_JavaBusiness ruleService 
                    = (Customer_Management_Service_JavaBusiness)ctx.getBean("ruleService");

Questo funziona bene. accesso EJB schierato in altre applicazioni nel medesimo contenitore, funziona.

Ma non funziona se mi trasferisco a tale cliente di altra macchina nella stessa rete e proprio cambiamento fornitore di URL e dare server remoto IP anziché localhost. JNDI problema si verifica

errore esatto: Errore 500: org.springframework.beans.factory.BeanCreationException: Errore durante la creazione di fagioli con nome 'ruleService' definito nella risorsa percorso di classe [applicationContext.xml]: Invocazione di metodo init fallito; l'eccezione annidata è javax.naming.NameNotFoundException: Contesto: CFSDDVM2399Node01Cell / nodi / CFSDDVM2399Node01 / server / server1, nome: com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness: Prima componente in nome com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness non trovato. [Eccezione Root è org.omg.CosNaming.NamingContextPackage.NotFound: IDL: omg.org/CosNaming/NamingContext/NotFound: 1.0]

Non riesco a capire cosa cambia (e dove) sono obbligatori per la connessione a EJB ospitato in diverse JVM server. Qualsiasi aiuto o suggerimento sono i benvenuti.

È stato utile?

Soluzione

Risposta a me stesso. Errore è stato risolto. Io lavoro su macchina virtuale. Tutte le immagini di sviluppo sono stati copiati da un particolare VM e che portati sopra WAS configurazioni (nome host, cellulari, ecc nodo) con esso. Accesso remoto lavorato dopo aver fissato tutte le occorrenze di nomi di host in serverindex.xml del server che ospita EJB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top