Debug remoto [Tomcat Netbeans]

  1. Compilare il progetto con “-g”
  2. Aggiungere a catalina.sh la riga:

CATALINA_OPTS=”-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n”

anche dopo export CATALINA_PID=”$CATALINA_HOME/catalina_pid.txt”

  1.  Netbeans collegarsi con “debug -> Attach debugger”

Debugger: Java Debugger (JPDA)

Connector: SocketAttach

Transport: dt_socket

Host: IP remoto

port: 8000

Installare il servizio [Tomcat]

Se si scarica il file .zip del Tomcat, non è possibile utilizzare la comoda applicazione tomcat7w.exe che lancia il servizio, quindi basta lanciare dal prompt dei comandi:

service.bat install  (per installarlo e usare l’applicativo)

service.bat remove (per disinstallarlo)

 

con “service.bat install” si crea un servizio che si chiama Tomcat7 (nome visualizzato: Apache Tomcat 7.0 Tomcat7), questo perché l’eseguibile si chiama tomcat7w

Debug remoto [Tomcat Eclipse]

Per fare il debug remoto con Eclipse si deve modificare un file del TonmCat:

  • Windows: …\Apache Software Foundation\Tomcat ?.?\bin\startup.bat
    • andare alla fine del file
    • commentare la riga: call “%EXECUTABLE%” start %CMD_LINE_ARGS%
    • inserire:

set JPDA_TRANSPORT=dt_socket

set JPDA_ADDRESS=5050

call “%EXECUTABLE%” jpda start %CMD_LINE_ARGS%

  • Linux: TO-DO

In Eclipse

  1. tasto DX del mouse sul progetto -> Debug As -> Debug Configurations…
  2. Remote Java Application -> tasto Dx -> New
    1. Host: IP del PC dove gira il tomcat
    2. Port: 5050
    3. Apply
    4. Debug

Manager utenti [Tomcat]

Una sessione importante del tomcat è il manager, per raggiungerlo basta concludere l’URL con manager (http://nomesito:8080/manager), se non installato basta scompattare il file zip dal sito e copiare …/webapps/manager, a questo punto vi sarà chiesto username e password, che non conoscete.

Per impostare Username e password bisogna editare il file \config\tomcat-users.xml e modificare la relativa sessione nel seguente modo:

aggiungere prima di </tomcat-users>

  • Prima della versione 7

<role rolename=”manager”/>
<role rolename=”admin”/>
<user username=”admin” password=”admin” roles=”admin,manager”/>

  • Dopo la versione 7 inclusa
    • <user username=”admin” password=”admin” roles=”manager-gui“/>
      • manager-gui — Access to the HTML interface.
      • manager-status — Access to the “Server Status” page only.
      • manager-script — Access to the tools-friendly plain text interface that is described in this document, and to the “Server Status” page.
      • manager-jmx — Access to JMX proxy interface and to the “Server Status” page.

context.xml [Tomcat]

Quando il tomcat si avvia (start.bat, start.sh o dalla GUI Tomcat6w), di default scompatta i file war che sono nella cartella webapps e copia il file context.xml nella cartella WEB-INF del progetto, in conf\Catalin\localhost rinominandolo come il progetto.

Se sostituiamo il file war, mentre il tomcat gira, cancella la cartella riscompatta il war ma sopratutto ricrea il file nel context.

Per evitare questo comportamente, si deve nel file server.xml

autoDeploy=”false” – per evitare la publicazione in automatico

deployXML=”false” – per evitare di sostituire il context

quindi in produzione conviene lasciare

autoDeploy=”true” deployXML=”false” in questo modo in automatico il progetto viene sostituito con la nuova versione e il file context, che contiene informazioni sull’ambiente (accesso al DB, o variabili particolari) non viene sovrascritto.

 

P.S.: Il deployXml=”false” si può mettere anche dentro il context stesso con:

<Host deployXml=”false” />