PDA

Visualizza la versione completa : [Java][Websphere]Runtime EJB


patrix03
07-06-2004, 10:00
Non temete, sembra lungo, ma sono tutti schemi :D .

Il problema riguarda la struttura progetti sotto
websphere e il runtime degli EJB.

Schema applicazione


progetto A (Java)

progetto B (Java)
Ref : Progetto Web/WEB-INF/lib/A.jar

progetto C (Java)
Ref : Progetto Web/WEB-INF/lib/A.jar
Ref : Progetto Web/WEB-INF/lib/B.jar

progetto EJB (EJB)

progetto EA (Enterprise)
Ref : Progetto Web
Ref : Progetto EJB

progetto Web (Web App)
| Ref : Progetto C
|
|
-- WEB-INF
|
|
-- classes
|
|
-- lib
|
|
-- jar A (ottenuto esportando il proj A e copiando il jar nella lib)
jar B (ottenuto esportando il proj B e copiando il jar nella lib)


Data questa struttura viene generato un pacchetto EAR.



enterprise app (Struttura EAR)
|
|
-- EJB (jar ottenuto con l'export del progetto enterprise)
|
|
-- Web (War)
|
|
-- WEB-INF
|
|
-- classes
|
|
-- lib
|
|
-- jar A (ottenuto esportando il proj A e copiando il jar nella lib)
jar B (ottenuto esportando il proj B e copiando il jar nella lib)
jar C (ottenuto referenziano il proj C nel deployment descriptor
dell'applicazione web ed esportando)


Installando il tutto su una versione Websphere 4 tutto funziona correttamente,
utilizzando Websphere 5 gli EJB non funzionano più correttamente.
L'errore sembrerebbe abbastanza banale (unable to locate class value for <CLASSE>), quindi con
la versione 5 senbra che gli EJB a runtime non riescano a trovare i jar con le classi applicative
per effettuare il marshalling e la serializzazione delle stesse.
In due parole, gli EJB non vedono la Web/WEB-INF/lib.
Ho provato a togliere i jar dalla Web/WEB-INF/lib e referenziare tutti i progetti nel progetto enterprise
così da ottenere un EAR schematizato come:



enterprise app (Struttura EAR)
|
|
-- EJB (jar ottenuto con l'export del progetto enterprise)
|
|
-- Web (War)
| |
| |
| -- WEB-INF
| |
| |
| -- classes
| |
| |
| -- lib
|
|
-- jar A
jar B
jar C




Ma continua a non vedere i jar.

Il problema è sicuramente dei più banali (visto che su versione 4 funziona) e sicuramente dovuto
ad una probabile configurazione errata di qualche riferimento o path, ma non ho proprio idea di
dove cercare questo errore.
La soluzione scomoda è quella di definire sul path del server i puntamenti al War, al War/WEB-INF/classes e War/WEB-INF/lib, così da ottenere visibilità globale, ma è terribilmente brutto.

Ho visto che esiste la possibilità di esportare autonomamente il progetto EJB come EJB-jar. Fatto questo xò non trovo il modo di
Referenziare questo jar nel progetto enterprise così da avere uno startup automatico del container una volta deployato l'EAR.

Please HELP ME!!!

patrix03
07-06-2004, 18:11
un piccolo suggerimento..... :dhò: :dhò: :dhò:

patrix03
08-06-2004, 09:41
ci sto proprio morendo su sta cosa...
:bhò:

Loading