Thu, 17 Aug 2006 14:04:17 +0200

Szilagyi Sandor <naslizs@szilsan.hu>

EJB-bol connect


Helo!

Irtam egy egyszeru kis prg-t, ami egy standalone java kliensbol (JSE6) 
kapcsolodik egy terinformatikai adatbazishoz (ESRI ArcSDE 9.1) egy 
terinformatikai layeren keresztul. Ez frankon megy, minden mukodik.

Irtam egy nagyon egyszeru kis EJB-t (jee5), ami ugyanezt csinalna. A 
gond az, hogy nemelyik lekerdezes megy, nemelyik nem. A kod ugyanaz mint 
a standalone kliensben.
A hibajelenseg : nem dob Exception-t (max az EJB-t hivo standalone 
kliensem timeout-ot), hanem ha bizonyos sort bennehagyok az EJB-ben, 
akkor olyan mintha ott "megalna". Az ESRI log-ban latszik hogy a 
kapcsolat letrejon, de semmi. Mintha "befagyna".
Valoszinuleg EJB-s elmeleti hianyossagaim vannak. :( - mivel uj vagyok 
ezen a teren.

Itt a test EJB-m:

@Stateless
public class getCommonDataBean implements ejb.getCommonDataRemote, 
ejb.getCommonDataLocal
{
     public getCommonDataBean()
     {
     }

     public String[] getLayers()
     {
         String[] ret=null;
         try
         {
             mySDEConnection conn=new mySDEConnection();

             Vector layers=conn.getLayers(); //ez az a sor, ahol 
elhasal. de csak ennel a muveletnel
             ret=new String[layers.size()];
             for (int i=0;i<layers.size();i++)
             {
                 ret[i]=((SeLayer)conn.getLayers().get(i)).getName()+"";
             }
             conn.close();
         }
         catch(Exception ex)
         {
             return new String[] {ex.getMessage()};
         }
         return ret;
     }
}

Az elhasalo sort ha kiveszem, akkor kapcsolat letrejon, lefut. Ha 
bennhagyom, akkor "all". Amugy sima standalone kliens eseten az egesz kb 
2-3 sec alatt fut le mindennel egyutt.

Valakinek otlete ? Hogyan illik kulso adatforrashoz kapcsolodni pl ? 
Sima adatbaziskapcsolat nem jo, sajnos - muszaj egy speci SeConnection-t 
hasznalnom.

AppServer : sun app 9.1

Koszonom elore is,
szilsan