[Java lista] Szulo appcontextbe beant gyerek appcontextbol

Zsombor gzsombor at gmail.com
2009. Már. 2., H, 22:31:33 CET


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
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20090302/e4b9f651/attachment-0001.html 


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