Newsgroup: it.comp.java
Titolo: J2EE - lettura file

non riesco a trovare nessun riguardo alla questione della lettura dei
file all'interno dello standard J2EE, a quanto ne so per mantenere la
compatibilità con questo standard non è possibile leggere o scrivere
file.
questa cosa è vera?
a titolo informativo: ho bisogno di sapere dell'esistenza o meno di un
certo file sul server e non sul client
spero possiate aiutarmi

 questa cosa è vera?
no, dove l'hai sentita? Spero non in uno dei ns corsi...
uL

 spero possiate aiutarmi
L'unica cosa che puoi fare credo sia accedere attraverso il ponte 
jdbc.odbc (lo so che e uno schifo!).
Per due note sulle restrizioni degli EJB dovrestri trovare un articolo 
su 
www.javaworld.com
 che ha come titolo "Programming restrictions on 
EJB" non mi ricordo a quale versione degli EJB facesse riferimento!
Ciao,
Magellano

 Per quanto ne so si!
Precisazione:Intendevo solo cio che riguarda gli EJB e non JSP,SERVLET, 
ecc...
Magellano

 no, dove l'hai sentita? Spero non in uno dei ns corsi...
Da un EJB posso leggere un file (di testo per esempio)?
Come per esempio?Va bene anche un link.
Magellano

 
Dalle specifiche EJB:
   An enterprise bean must not use the 
java.io
 package to
   attempt to access files and directories in the file system.
Non credo che gli application server impongano sul serio questa 
restrizione, ma questo è un altro discorso...
Ciao.
\mirko

 restrizione, ma questo è un altro discorso...
Esatto e un altro discorso!Il fatto che si possa fare (abbandonando lo 
standard) non vuol dire che sia buona cosa!
E se cambi AS e non supporta questa caratteristica?
No grazie!Ne ho gia tante di grane. ;-D
Ciao Magellano

 
Hai perfettamente ragione. L'ho detto solo perché in un test avevo un 
EJB che leggeva file e funzionava tutto tranquillamente...
Sempre dalle specifiche:
"The file system APIs are not well-suited for business components to 
access data. Business components should use a resource manager API, such 
as JDBC, to store data."
Effettivamente essendo un EJB un componente distribuito non può neppure 
avere una nozione di filesystem. (Anche se un EJB con sole interfacce 
locali potrebbe fare eccezione.)
Forse che l'application server mette a disposizione un qualche resource 
manager per accedere ai file?
Ciao.
\mirko

 manager per accedere ai file?
Non lo escluderei a priori!Anzi, sicuramente quasi tutti li hanno.
Io non ho ancora tentato...ci provero... ;-)
Se hai qualche indicazione sul come farli le accetto volentieri, adesso 
sto usando (tentando forse e piu corretto) BEA WL6 e WebSphere! ;-)
Ma se si tratta di prove o piccoli progetti allora si puo anche usare 
altrimenti *IO* preferirei percorrere altre strade.
Volendo si potrebbero anche usare in progetti importanti ma BEN CHIUSI E 
ISOLATI in scatole che si possono rimpiazzare in un battiBALENO E LAVORO 
MENO!!! ;-D
Ciao,
Magellano

 certo file sul server e non sul client
Visto che l'applicazione prevede un filesystem come regola di business 
(a meno che il design non sia errato e non ci sia un'altra soluzione che 
eviti l'uso dei file, si intende), non perdi in portabilita' facendo un 
check dall'ejb, o, se proprio vuoi essere piu' compliant, spostare il 
tutto in una libreria esterna al bean (o usare un resource manager)
Guardati i thread che ho postato su ejb-interest per dettagli, ma non 
perderci troppo tempo (come consiglio)...
ciao
uL


Attenzione, si parlava di j2ee...
Per quanto riguarda gli ejb invece e' vero che da spec hanno delle 
limitazioni, ma vanno ben capite (contestualizzate)
Altrimenti seguendo pedissequamente le spec neanche si potrebbe usare un 
DB (che e' comunque nel 90% dei casi una library che scrive su file)
Per scavare nel torbido delle specifiche, vi consiglio questi due thread 
(fra i tanti, e' praticamente una FAQ) sulla ml ejb-interest:
http://www.mail-archive.com/ejb-interest%40java.sun.com/msg13587.html
http://www.mail-archive.com/ejb-interest%40java.sun.com/msg13923.html
ciao e buoni approfondimenti ;)
uL