classi di interfaccia Share che utilizzano lo stesso programma di caricamento classe su J2EE / Weblogic 10, senza utilizzare il sistema di classpath

StackOverflow https://stackoverflow.com/questions/2149100

Domanda

Ho un "quadro" in esecuzione su un Weblogic appserver 10.0 (o 10.3), in cui il quadro è costituito da più applicazioni aziendali, ciascuno responsabile di un adattatore di risorse diverso. Un'applicazione client viene distribuito nel dominio, utilizza JNDI per ottenere riferimento ad una delle classi di connettore dell'adattatore di risorse, fa il suo invocazioni e tutti sono felici.

Gli antenati mi hanno lasciato con le classi di interfaccia per i connettori e altro sul classpath di sistema - questo funziona bene

.

Il nuovo requisito è quello di eliminare "inquinare" classpath di sistema, con il più basso impatto architettonico possibile. Ho provato il WLS-specifico "libs J2EE condivise", ma ha dovuto vedere che anche se posso confezionare le classi di interfaccia a una biblioteca e farvi riferimento in altre applicazioni, le classi sono ancora caricate dai classloader applicazione separata, e in questo modo ottengo un ClassCastException quando provo a lanciare l'oggetto JNDI-lookup'd nell'interfaccia.

Cosa suggerisci di fare sapere? Attualmente Vorrei consigliare ai clienti di utilizzare un dominio separato per questo quadro con le voci di sistema di percorso di classe, ma non è sicuro che lo accetterei.

Grazie!

È stato utile?

Soluzione

Ok, io concludo allora che questo non è possibile. Credo che una soluzione adeguata sarebbe quella di riscrivere l'applicazione per utilizzare invocazioni EJB remoti per la comunicazione inter-app.

Si veda anche Hai bisogno di aiuto per capire JNDI e un particolare ClassCastException in J2EE

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