Vorrei utilizzare la parola chiave Java assert
nella mia app Web Spring, principalmente sulle mie classi di dominio (controllare le invarianti all'interno dei costruttori), ma non riesco a vedere come abilitare il controllo dell'asserzione di runtime.Come abilitare le asserzioni java in Tomcat
Per una normale applicazione Java, vorrei utilizzare l'interruttore -ea
con il comando java, ma non vedo come posso farlo con Tomcat, ecc
È questa la cosa raccomandata, o dovrei utilizzare la classe "Assert" dal framework Spring? Preferirei mantenere le mie classi di dominio libere da dipendenze Spring, comunque.
Grazie per questo, ma a) sto usando (per dev) VMware tc Server dall'interno di Eclipse (non che hanno 'catalina.bat' ?, b) Preferirei abilitare le asserzioni solo sulla mia web-app ec) come potrei farlo con qualcosa come VMWares CloudFoundry? Grazie ancora! –
Su una nota più seria: 'CATALINA_OPTS' sarebbe il punto più appropriato qui. La differenza è che 'JAVA_OPTS' sarà usato su * tutti * invocazioni di Java dagli script di avvio di Tomcat (incluso" connettersi a un server in esecuzione e chiedergli di chiudere "uno), dove' CATALINA_OPTS' sarà usato solo per effettivamente eseguendo il server. In questo caso la differenza non è troppo importante, ma per cose come la memoria è piuttosto importante usare quella giusta (non si vuole che lo script di shutdown minuscolo allochi 4 GB di memoria). –
@DecaniBass: beh tecnicamente dovrebbe essere possibile abilitare le asserzioni su una base per-webapp, dato che c'è ['ClassLoader.setDefaultAssertionStatus()'] (http://download.oracle.com/javase/7/docs/api/ java/lang/ClassLoader.html # setDefaultAssertionStatus (booleano)) ma sfortunatamente non so * se * e * come * tali server di applicazioni espongono questa opzione. –