bloggers bloggers

Marco Napolitano
Messaggi: 79
Stelle: 0
Data: 17/02/22
Jader Jed Francia
Messaggi: 63
Stelle: 0
Data: 18/02/21
Paolo Gambetti
Messaggi: 2
Stelle: 0
Data: 11/11/19
Katia Pazzi
Messaggi: 1
Stelle: 0
Data: 27/06/19
Ezio Lombardi
Messaggi: 11
Stelle: 0
Data: 10/04/18
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
Indietro

Liferay 6.1.0 GA1 e StackOverflowError

Liferay mette da tempo a disposizione degli sviluppatori un comodo plugin di Eclipse (www.liferay.com/community/wiki/-/wiki/Main/Liferay+IDE) per gestire tutte le configurazioni ed i deploy; il suo utilizzo consente infatti di creare nuovi progetti (portlet, temi, ...) all'interno del proprio workspace e di deployarli direttamente nel server interno censito in Eclipse, dando la possibilità di gestire proficuamente hot code deploy, debug, ..., senza l'ausilio dello script Ant.

Recentemente ho lavorato per un progetto sulla versione di Liferay 6.1.0 GA1 (Community Edition), secondo le modalità sopra, senza avere troppi problemi imprevisti.

Arrivati ad un certo punto dello sviluppo il server ha iniziato a sollevare inspiegabili eccezioni di tipo StackOverflowError in seguito a qualsiasi tipo di interazione con le portlet custom che erano state sviluppate; di fatto era diventato inutilizzabile.

Dopo alcune prove e ricerche ho scoperto che il problema erano gli hook, nello specifico la presenza del file liferay-hook.xml all'interno del mio progetto custom; non potendo rimuovere il file (necessario all'applicazione), l'unica soluzione è stata quella di rimuovere il mio progetto dal server interno di Eclipse e di ripristinare l'utilizzo dello script Ant. Avvio ed arresto del server rimangono comunque all'interno di Eclipse.

In conclusione esiste un bug all'interno di una classe di Liferay adibita al deploy che genera questo malfunzionamento; il bug è documentato qui, http://issues.liferay.com/browse/LPS-24723, ed è stato risolto già a partire con il rilascio della versione 6.1.1 GA2.

Enjoy!

Precedente
Commenti
Aggiungi Commento
Marco Napolitano
bene, ottimo.
buon proseguimento allora!
Inviato il 09/07/15 14.02 in risposta a Simona Cambo.
Simona Cambo
Ciao Marco,
ora mi sto imbattendo in un'altra esigenza banale, che però non riesco ad ottenere: abilitare e diabilitare un

pulsante al termine di un'operazione.
Mi spiego: il click di un pulsante inserito in un form fa scattare un javascript in cui c'è la submit che, tramite il

tag <portlet:namespace> e i suoi parametri chiama un metodo di una classe java. Subito dopo il submit, ritornando nel

javascript, devo abilitare il pulsante btn-avvia, all'interno di un form, che ho definito così:

<%
String avvia = "event.preventDefault(); " + renderResponse.getNamespace() + "importazione();";
%>

<aui:form method="post" name="fmImportazione" onSubmit="<%= avvia %>">
<aui:button type="submit" id="btn-avvia" name="btn-avvia" value="Avvia" disabled="true" />
</aui:form>


Inserendo l'opzione disabled a true funziona perchè parte disabilitato, ma quando poi setto l'opzione disabled a

false, nel javascript, dopo il submit, sembra che non succeda nulla. Sai spiegarmi come fare?
Mi dici, per favore, quale istruzione scrivere nel javascript per abilitare il pulsante? Forse sbaglio qualcosa
Grazie
Inviato il 09/07/15 14.02 in risposta a Marco Napolitano.
Marco Napolitano
Hai già provato con Alloy?
A.one('#ID_DEL_PULSANTE').attr('disabled', false);
Inviato il 09/07/15 14.02 in risposta a Simona Cambo.
Simona Cambo
Ma cosa è A.one? non capisco. Cmq ho provato a scrivere quello ma non funziona. Come posso fare? Grazie
Inviato il 09/07/15 14.02 in risposta a Marco Napolitano.
Marco Napolitano
A partire da Liferay 6.0 è stato introdotto un nuovo framework Javascript che si chiama AlloyUI e sostituisce jQuery; A.one è una chiamata AlloyUI.
Purtroppo se non lo conosci temo che questa non sia proprio la sede più adatta per impararlo, non è una cosa da 2 minuti.
Inviato il 09/07/15 14.02 in risposta a Simona Cambo.