Post

Visualizzazione dei post con l'etichetta Tomcat

Abilitazione Cross Application Scope in Tomcat per condivisione dati tra webapp

DOMANDA: Come posso condividere dati tra diverse webapp utilizzando l'Application Scope? RISPOSTA: Di default l' Application Scope è utilizzato per memorizzare oggetti a livello di web application. Questo livello di scope è il più alto rispetto ai classici scope di Request e Session Nome Scope Durata Request Singola richiesta, verso il server Fino a quando la risposta non viene inviata al client Session Tutte le richieste inviate dallo stesso browser Fino a quando non scade il timeout della sessione o l'ID di sessione non viene invalidato (ad es. chiusura del browser) Application Tutte le richieste inviate a una stessa Web Application Container Per poter recuperare un oggetto memorizzato a livello di Application Scope è necessario utilizzare il ServletContext . Se vogliamo recuperare un oggetto memorizzato nell'Application Scope della WebAppA dalla WebAppB è necessario fare attenzione ai seguenti

Hibernate e Tomcat out of memory

Immagine
DOMANDA: Sto utilizzando Hibernate sulla mia web application. Dopo un po' che navigo ed effettuo query, il server Tomcat 7 smette di funzionare e ricevo questo errore: java.lang.OutOfMemoryError: PermGen space         at java.lang.ClassLoader.defineClass1(Native Method)         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) Come posso risolverlo? RISPOSTA: L'accoppiata Tomcat e Hibernate funziona molto bene, ma, come tutti i  framework/applicazioni installati sul web server  richiede alcune piccole configurazioni per settare tutto al meglio. Come impostazione predefinita, Tomcat assegna pochissima memoria per i processi in esecuzione. E' proprio quello il problema, poca memoria a disposizione e il nostro framework (in questo caso Hibernate ) ne richiede di più. Vediamo come aumentarla. In Linux : 1. Cerchiamo il file catalina.sh nella carte