Newsgroup: it.comp.java
Titolo: J2EE e  Seam

Ciao a tutti, mi sto avvicinando alla piattaforma J2EE dopo un paio di
anni di esperienza con il jdk normale.
Dopo un po' di ricerche ho pensato di utilizzare Jboss-seam come
framework.
L'idea era di utilizzare un ide come netbeans per semplificare il
lavoro, invece sto diventando matto il più stupido programma con
netbeans...
Allora ecco i step che compio...magari qualcuno riesce a capire dove
sbaglio. Dopo ogni step ricompilo,faccio il deploy e provo ad accedere
alla root della mia web-app...funziona sempre tranne all'ultimo step,
dove pur non essendoci problemi ne in compilazione nè in deploy la
pagina non è accessibile via web ed ottengo un messaggio:
HTTP Status 404 - /SeamTest-war/ - The requested resource (/SeamTest-
war/) is not available.
Allora ecco gli step:
1) Creo una nuova Enterprise Application dal Nome Seam-Test
2) Nelle Properties del Modulo Web aggiungo il Framework JSF (imposto
il servlet mapping a "*.seam" e non valido xml)
3) Nel modulo Web nel file "web.xml" nella sezione "Context
Parameters" aggiungo un nuovo parametro
	> Param Name: "org.jboss.seam.core.init.jndiPattern"
	> Param Value: "EarName/#{ejbName}/local" (dove al posto di EarName
devi mettere il nome del file EAR)
4) Nello stesso file nella sezione "Web Application Listener" aggiungo
la listener class
 	> "org.jboss.seam.servlet.SeamListener"
Da questo momento la pagina non è più accessibile.
Ho provato diverse cose tra cui:
- Nel modulo Web nel file "faces-config.xml" aggiungo il seguente tag
all'interno del tag <faces-config>
	<lifecycle>
		<phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-
listener>
	</lifecycle>
- Nel file web.xml aggiungo il seguente tag per, a quanto ho sentito,
aggirare un bug in MyFaces
        <context-param>
             <param-name>javax.faces.CONFIG_FILES</param-name>
             <param-value></param-value>
        </context-param>
- Aggiungo un file nella cartella WEB-INF il file components.xml con
il seguente contenuto:
        <components>
            <component name="org.jboss.seam.core.init">
                <property name="jndiPattern">@jndiPattern@</property>
            </component>
            <component class="org.jboss.seam.core.Ejb"
installed="@embeddedEjb@"/>
        </components>
Niente sembra funzionare...
Ho provato ad aggiungere la libreria seam al ejb e la libreria seam-ui
al war, ma continua a sussistere il problema...
Dove sbaglio?
Grazie in anticipo per il genio che trova il mio errore! :)
CIAO


Ciauz sembra che non deploya
Sei sicuro che deploya ? cioe' vai su nel log al momento del deploy e vedi
se da errori da li capisci perche' non deploya
Comunque se eì colpa di netbeans, ma non credo visto che usi ant comunque ,
usa JBOSS-IDE che sei + tranquillo, considera che in estate esce un mega IDE
dellla JBOSS-exadel tipo .NET e quindi vale la pena passare all'ide jboss
N
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

On 18 Mag, 13:09, 
n...@libero.it
 (n..n) wrote:

mmm...mega-IDE...interessante!
Cmq ho fatto una prova...ora hanno lo stesso problema anche gli esempi
che compilo con ant da console...
Ad esempio questa è l'ultima riga del deploy di un esempio:
2007-05-18 13:40:45,203 INFO
[org.apache.myfaces.webapp.StartupServletContextListener]
ServletContext 'C:\Programmi\Java\
jboss-4.0.4.GA
\server\default\.\tmp
\deploy\tmp57126jboss-seam-dvd.ear-contents\jboss-seam-dvd-exp.war\'
initialized.
Mentre mi sembra di ricordare che prima dava "Started"...
A causa di un altro problema ho appena reinstallato netbeans...ho
preso la versione di jboss+netbeans visto che è l'unico modo per far
sì che netbeans si accorga quando jboss è già avviato.
Mi sa che c'è un problema di configurazione del nuovo server...non di
netbeans, altrimenti gli esempi da console dovrebbero andare...
Mi devo rivedere un attimo i doc di Seam ...magari devo impostare
qualche riferimento nella dir di jboss...

 qualche riferimento nella dir di jboss...
Se usi Jboss-Ide hai jboss gia' embedded
comuqnue se vuoi insistere con netbeans fai cosi' prendi l'ear e deployalo a
mano in un jboss e vedi se il problema e' di jboss o netbeans.
Un'altra cosa, dovresti farre un ear, il war non si usa quasi piu'


 Un'altra cosa, dovresti farre un ear, il war non si usa quasi piu'
??
Certo se uno deve usare EJB3 non puo' farne a meno (non mi fiderei tanto 
Micro container di JBOSS deployabile anche in Tomcat), ma allora perche dire 
che non si usa piu': non si usa proprio.
Altrimenti e' una cavolata: non tutti usano EJB, visto che Spring va ancora 
molto forte e funziona con il WAR.

> > Un'altra cosa, dovresti farre un ear, il war non si usa quasi piu'
In realtà uso un ear...quando creo una Enterprise app, mi crea il file
ear con all'interno un file ".jar" per la parte ejb ed un file ".war"
contenente la parte web ovvero la "view" ...sbaglio qualche cosa?
Cmq sono riuscito a risolvere il problema...tutto stava, come spesso
accade in un unico carattere! :)
Praticamente nel file web.xml associavo le sevlet con il suffisso /
*.seam...l'errore era la slash!
ERRATO:
<servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/*.seam</url-pattern>
</servlet-mapping>
CORRETTO:
<servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.seam</url-pattern>
</servlet-mapping>
e tutto perchè non ho cancellato bene il valore precedente! grrr...
Cmq ora ho risolto e sono riuscito a configurare netbeans
perfettamente per l'utilizzo di seam...
Ora l'ultimo ostacolo è migrare da derby a mysql...anche questo mi sta
facendo perdere un po' di tempo...ma questa è un'altra storia ed il
prossimo thread!
Grazie a tutti!


Concordo, pero' bisogna dire che le ultime specifiche EJB hanno fatto grossi 
passi avanti per quanto riguarda la semplicita', quindi potrebbe rimanere 
una buona scelta anche quando non si ha bisogno di aspetti come quelli che 
hai menzionato. 

 hai menzionato.
Infatti non volevo entrare in una discussione con tutto sommato poco senso.
1.
Spring e' un framework completo
2.
EJB sono degli strumenti per farre una serie di cose
3.
Seam ( oggetto del 3d) e' un framework per semplificare e congiungere ( seam
appunto ) JSF e EJB3
4.
L'ultima patch di seam di circa un mese fa e' TUTTA orientata a integrare
spirng, proprio perche' non sono in competizione, o meglio sono
completamente compatibili
5.
A parere mio oggi non ha alcun senso iniziare una applicazione spring
perche' seam e' superiore in tutto
( anche se questo potrebbe in parte contraddirre il punto precedente )
6.
Nel JEE5 non esiste piu' il vecchio concetto di EJB inteso come "menata
assurda da usare solo se richiesta da un Architect scassapalle"
Li usi sempre per tutto e basta, sono cosi' semplici e divertenti che non
c'e' piu' alcun motivo di non usarli.
Nicola


 c'e' piu' alcun motivo di non usarli.
C'è un particolare : quale EJB container non open source fornisce un 
supporto full a J2EE 1.5 ?
Scorpio. 

 Scorpio.


 di miriadi di file xml
L'ultima versione di WAS supporta J2SE 5.0 e J2EE 1.4, non mi sembra roba di 
10 anni fa.
Saluti,
    Scorpio

 Scorpio
Saluti


 ) ed e' completamente integrato col SUO AS
Moooooolto interessante... e anche JBoss IDE è open e free ?
Scorpio. 

 Scorpio.
N



Questo e' quanto dicono quelli di JBoss e i loro sostenitori, ma vorrei cmq 
dire che il dibatttio non e' affatto chjiuso e Spring ad esempio vanta molti 
sostenitori, nonostante EJB3 e Seam.