2012-09-12 21 views
12

Ho controllato JRebel. Secondo il loro sito:Quali sono i vantaggi di JRebel?

"JRebel è un plugin nulla-Java che accelera lo sviluppo JVM-based (Java, Scala, Groovy) ricaricando le modifiche apportate nel vostro spazio di lavoro in una JVM in esecuzione, senza riavvio o riutilizza , mantenendo lo stato dell'applicazione mentre stai codificando. "

Questo sembra essere lo stesso di quello che stiamo già ottenendo con Eclipse, Netbeans e IntelliJ: salviamo i nostri cambiamenti vengono distribuiti immediatamente. Quale/i beneficio/i supplementare/i darebbe JRebel?

Qualcuno potrebbe spiegarmelo?

+0

JRebel utilizza il metodo della classe ricarico terribile. Dal momento che ho indovinato come funziona JRebel, non lo userò mai. – michael

risposta

12

IDE (Eclipse, NetBeans o IntelliJ) automaticamente ridistribuire l'applicazione se configurata così, che non è immediata. Fondamentalmente, è proprio l'automazione che si traduce ancora nella reale ridistribuzione dell'applicazione, compresa la creazione di un nuovo classloader e di tutte le cose complementari coinvolte nel processo di inizializzazione.

In alcuni casi, IDE in combinazione con alcuni contenitori può preservare lo stato della sessione - se ciò funziona per te è fantastico. Se no - ecco qui - JRebel è la risposta.

In caso di distribuzione pacchettizzata, la fase di compilazione si somma, ma utilizzando JRebel è sufficiente eliminarlo tutto in una volta.

+0

Potete per favore fornire le vostre opinioni su http://stackoverflow.com/questions/35249234/how-hot-deployment-works-internally. Non credo che questa risposta sia ancora valida, vale a dire: "Fondamentalmente, è solo l'automazione che si traduce ancora nella ridistribuzione reale ...", poiché trovo che la ridistribuzione di Eclipse è molto veloce ora al giorno – emilly

+0

@emilly la ridistribuzione della vaniglia è ancora solo una ridistribuzione, indipendentemente se è attivato da Eclipse o qualsiasi altro IDE. A meno che la tecnologia specifica in fase di esecuzione non fornisca aggancio speciale per l'IDE (o altri strumenti) per l'attivazione e sia ottimizzata per la velocità di aggiornamento/ridistribuzione. –

5

Alcune modifiche non possono essere ricaricate specialmente quando si cambiano le classi dei file jar senza dover ricaricare o riavviare il server (qualunque sia il server che si sta utilizzando). Cambia automaticamente le classi compilate nel server e viene ricaricato automaticamente nel classpath.

Quando si salvano e si aggiornano le modifiche nel proprio IDE, si sta fondamentalmente ricostruendo il file di guerra e ridistribuendolo sul server. Questo processo può ancora rallentare specialmente quando si ridistribuiscono applicazioni di grandi dimensioni con più file jar e file war e tutto il classpath deve essere aggiornato.

0

JRebel non è Un plug-in IDE. JRebel viene fornito in bundle con i plugin per Eclipse, IntelliJ IDEA, NetBeans e JDeveloper, tuttavia, l'agente JRebel è progettato per essere IDE-agnostico e può essere utilizzato al di fuori dell'IDE.

Se avete domande Che cos'è JRebel e cosa non lo è? ecco un link che può fornire tutte le risposte che state cercando:

What JRebel is and what it is not?

Ecco un video su JRebel:

JRebel video