E' disponibile per il download la versione trial di FusionReactor, un tool del quale ho parlato qualche giorno fa e che prometteva (e promette tuttora) di rendere disponibili con un interfaccia web il numero dei thread correnti, lo stack trace, le richieste correnti ed una serie di dati indispensabili per il tuning di Coldfusion e che di solito è difficile e scomodo reperire.
Ma FusionReactor vuole andare oltre e promette anche di 'accorgersi' quando un server CF sta per piantarsi e di potersi regolare di conseguenza (crash prenvention). Già questo non è affatto poco e quando promette di migliorare le performance di CF facendogli digerire Java 1.5 sorgono i dubbi.
Oggi ho avuto difficoltà ad installare la Trial su un'installazione multiserver di CFMX (quindi Jrun + CF) ed ho contattato direttamente la casa produttrice. Sono stati gentilissimi e dopo nemmeno un'ora ero in chat via Skype con un loro tecnico che mi ha aiutato nell'installazione; nel frattempo ho fatto anche alcune domande e questo è quanto è risultato:
#
# VM configuration
#
# Where to find JVM, if {java.home}/jre exists then that JVM is used
# if not then it must be the path to the JRE itself
java.home=C:/APP/JRun4/jre
#
# If no java.home is specified a VM is located by looking in these places in this
# order:
#
# 1) bin directory for java.dll (windows) or lib/<ARCH>/libjava.so (unix)
# 2) ../jre
# 3) registry (windows only)
# 4) JAVA_HOME env var plus jre (ie $JAVA_HOME/jre)
#
# Arguments to VM
java.args=-Xmx512M -server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=128m -XX:+UseParallelGC -DJINTEGRA_NATIVE_MODE -DJINTEGRA_PREFETCH_ENUMS -Dcoldfusion.rootDir={application.home}/ -Dfile.encoding=UTF-8 -Djmx.invoke.getters=true
#
# commas will be converted to platform specific separator and the result will be passed
# as -Djava.ext.dirs= to the VM
java.ext.dirs={jre.home}/lib/ext
#
# where to find shared libraries
java.library.path=C:/APP/FusionReactor/lib/01frvp.jar,{application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib,{application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/jintegra/bin,{application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/jintegra/bin/international
system.path.first=false
#
# set the current working directory - useful for Windows to control
# the default search path used when loading DLLs since it comes
# before system directory, windows directory and PATH
java.user.dir={application.home}/../lib
# JVM classpath
java.class.path={application.home}/servers/lib,{application.home}/servers/lib,{application.home}/lib,C:/APP/FusionReactor/lib/fusionreactor.jar
A questo punto non mi resta che aspettare la versione per Linux per poter finalmente testare l'applicazione nei server in azienda e poter toccare con mano la validità del prodotto.
Ma FusionReactor vuole andare oltre e promette anche di 'accorgersi' quando un server CF sta per piantarsi e di potersi regolare di conseguenza (crash prenvention). Già questo non è affatto poco e quando promette di migliorare le performance di CF facendogli digerire Java 1.5 sorgono i dubbi.
Oggi ho avuto difficoltà ad installare la Trial su un'installazione multiserver di CFMX (quindi Jrun + CF) ed ho contattato direttamente la casa produttrice. Sono stati gentilissimi e dopo nemmeno un'ora ero in chat via Skype con un loro tecnico che mi ha aiutato nell'installazione; nel frattempo ho fatto anche alcune domande e questo è quanto è risultato:
- Per utilizzare alcune funzioni avanzate (come lo stack trace in tempo reale) occorre Java 1.5; e visto che FusionReactor altro non è che un'applicazione Java che gira sotto un'istanza dell'application server java sottostante (Jrun nel nostro caso) per poter utilizzare l'ultima versione di java occorre giocoforza modificare il percorso della JVM e farlo puntare alla cartella dove risiede la Jvm 1.5; non viene fatto altro nè modificato altro, questo significa che usare FusionReactor con tutte le feature attivate implica usare CFMX sotto java 1.5; può essere vero che questo dovrebbe migliorare performance e stabillità, ma Macromedia afferma chiaramente che al momento questa versione di Java non viene supportata da CFMX.
- Al momento la versione disponibile è solo quella per Windows e l'installer funziona bene solo per le installazione Standalone di ColdFusion; seguirà a brevissimo (ha parlato di due o tre settimane) la versione per linux.
- Una volta fatta funzionare l'applicazione è possibile accedere all'amministrazione della stessa attraverso un'interfaccia web che permette di:
- Visualizzare le richieste in tempo reale ed il loro storico
- Adottare criteri di Crash Procection che permettono di effettuare notifiche via mail ed anche di abortire processi che impiegano più di un certo tempo; di mettere in coda o abortire processi che verrebbero eseguiti in situazioni di scarsa disponibilità di memoria e di abortire o mettere in coda le richieste che superano un numero predefinito e configurabile. E' anche possibile specificare come si vuole avvertire l'utente nel caso che la sua richiesta venga abortita da FusionReactor e si può optare per un redirect ad un'altra url o per un semplice messaggio a schermo.
- Attivare la compressione delle richieste e delle risposte HTTP
- Visualizzare tutti i threads attivi e visualizzarne lo stack trace
- Visualizzare lo stato di utilizzo della memoria
- Definire filtri personalizzati per il 'search and replace' di contenuti in tempo reale senza cambiare il codice
- Per fare funzionare l'applicazione con l'installazione multiserver di CF è sufficiente procedere all'installazione normalmente, inserire i dati richiesti (nello specifico i percorsi del web descriptor, il file web.xml che è in c:/APP/jrun4/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/ ed il jvm.config che sta in c:jAPP/jrun4/bin (supponendo di avere installato Jrun nella cartella c:/APP); l'installazione terminerà correttamente ma l'applicazione non ne vorrà sapere di funzionare. Occorre a questo punto modificare a mano il file jvm.config e, supponendo di avere installato Jrun nella cartella c:/APP/jrun4 e FusionReactor nella cartella c:/APP/FusionReactor il file dovrebbe essere simile a questo:
#
# VM configuration
#
# Where to find JVM, if {java.home}/jre exists then that JVM is used
# if not then it must be the path to the JRE itself
java.home=C:/APP/JRun4/jre
#
# If no java.home is specified a VM is located by looking in these places in this
# order:
#
# 1) bin directory for java.dll (windows) or lib/<ARCH>/libjava.so (unix)
# 2) ../jre
# 3) registry (windows only)
# 4) JAVA_HOME env var plus jre (ie $JAVA_HOME/jre)
#
# Arguments to VM
java.args=-Xmx512M -server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=128m -XX:+UseParallelGC -DJINTEGRA_NATIVE_MODE -DJINTEGRA_PREFETCH_ENUMS -Dcoldfusion.rootDir={application.home}/ -Dfile.encoding=UTF-8 -Djmx.invoke.getters=true
#
# commas will be converted to platform specific separator and the result will be passed
# as -Djava.ext.dirs= to the VM
java.ext.dirs={jre.home}/lib/ext
#
# where to find shared libraries
java.library.path=C:/APP/FusionReactor/lib/01frvp.jar,{application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib,{application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/jintegra/bin,{application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/jintegra/bin/international
system.path.first=false
#
# set the current working directory - useful for Windows to control
# the default search path used when loading DLLs since it comes
# before system directory, windows directory and PATH
java.user.dir={application.home}/../lib
# JVM classpath
java.class.path={application.home}/servers/lib,{application.home}/servers/lib,{application.home}/lib,C:/APP/FusionReactor/lib/fusionreactor.jar
A questo punto non mi resta che aspettare la versione per Linux per poter finalmente testare l'applicazione nei server in azienda e poter toccare con mano la validità del prodotto.
Categorie:
Cold Fusion
,
Jrun

















![Validate my RSS feed [Valid RSS]](/images/rssvalid.gif)
![Validate my Atom 1.0 feed [Valid Atom 1.0]](/images/atomvalid.png)

