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