[Java lista] Szulo appcontextbe beant gyerek appcontextbol

Böszörményi Péter zmblevlist at gmail.com
2009. Már. 3., K, 08:16:38 CET


Azt elfelejtettem kozolni, h jboss alatt van az egesz, egy classloader
repositoryban van, igy el tudjak erni egymas osztalyait, ez nem
problema.

On 3/2/09, Zsombor <gzsombor at gmail.com> wrote:
> 2009/3/2 Böszörményi Péter <zmblevlist at gmail.com>
>
>> Udv a listanak!
>>
>> Adott ket war. War1-ben van implementalva egy fizetesi folyamat,
>> melynek soran ki lehet valasztani fizetesi modot. Az egyik lehetoseg
>> soran fizeteskor a war1ben talalhato akcio webservicet, hiv, es
>> webservicen keresztul var valaszt. Konnyebb kezelhetoseg erdekeben ket
>> interface van definialva: egy server interface, ami a tavoli szervert
>> reprezentalja (ezt hivjuk mi), es egy client interface amit a tavoli
>> szerver fog definialnia (ezen az interfacet ajanljuk ki
>> webservicekent). Tehat ossz-vissz ket interface van, semmi tobb.
>> A war2 vegzi a tenyleges munkat. Fogadja a tavoli szervertol a hivast,
>> es tovabbitja a client interfacenek, ami vegzi a tenyleges munkat.
>> Ezen kivul megvalositja a server interfacet, es a beeso hivasokat
>> kuldi tovabb a tavoli szervernek.
>> Felepitesben a kovetkezot kepzeltem el: A war1-ben van egy appcontext,
>> amiben az akciok, es a client interfacet megvalosito objektum van. A
>> war2 is rendelkezik egy contexttel, ebben megtalalhato a server
>> interfacet megvalosito objektum + mindenfele ws definicio. A war1 a
>> szulo appcontextje lenne a war2-nek. A problema itt merul fel: a war1
>> definialja a szukseges interfaceket, a war2 szallitana hozza az
>> implementaciot, de sehogy nem tudom megoldani, hogy a war1 megkapjon
>> egy war2-ben definialt server interfacet implementalo objektum
>> peldanyt.
>> Peldat sajna most nem tudok prezentalni, mert nem az elott a gep elott
>> vagyok, ahol mindezt vegigjatszottam.
>> Ha valakinek van tippe, hogy mindezt hogy lehet megoldani, az ne
>> kimeljen, ossza meg velem, koszonom.
>>
>> P.
>>
>
>
> Nem teljesen értem milyen környezetben akarod ezt megvalósítani, de
> alapvetően egy szervlet futtató a különféle WAR-ok betöltését külön
> classloaderrel végzi, úgyhogy azok egymással nehezen fognak kommunikálni,
> metódus hivással/interfész implementálással. Azt lehetne tenni, hogy az
> interfészt azt valami közös részbe helyezed el - a két WAR-tól függetlenül,
> valahova a szerver libek, vagy megosztott libek közé. Valamint egy statikus
> osztályváltozóba rakhatnád az implementáló példányt és azt használhatná a
> másik war.
> pl
> public MyContext {
>   static MyInterface instance;
>   static MyInterface getInstance() {...}
>
>   static void installImplementation(MyInterface obj)
>
>  }
>
> Zs
>


További információk a(z) Javalist levelezőlistáról