giovedì 27 marzo 2014

Java vs Go: il caso di linguaggi specifici di cloud

La nube ha bisogno di un proprio linguaggio, e Google Go offre cosa fa di Google  linguaggio di programmazione Go  hanno in comune con la nuvola? E 'il linguaggio della scelta dei progetti cloud come  Docker , Force.com, e di Cloud Foundry (Go) Router. Go è di cinque anni, ma non si può avere sentito molto su di esso. Che potrebbe presto cambiare.Sebbene linguaggi come Java continuano ad essere il modo più popolare che costruiamo software in questi giorni, i nuovi modelli stanno emergendo. Sono costruiti per le moderne architetture di calcolo - in particolare, per l'uso di privato, pubblico, ei modelli di delivery cloud ibrido computing.Go è una delle lingue moderne scritte espressamente per il cloud. La sua crescente popolarità è dovuta alla sua capacità di fornire operazioni simultanee, così come altre caratteristiche che sfruttano i modelli di provisioning di nubi.Le persone che hanno progettato Vai stavano cercando di migliorare il C + +. Tuttavia, hanno trovato troppo ingombrante per sfruttare operazioni simultanee (la capacità di eseguire più processi allo stesso tempo) con la struttura di controllo + C +, quindi hanno rinunciato e si è trasferito a costruire un nuovo linguaggio con il cloud in mente.Una volta ho  scritto un libro sul C + + , e io sono d'accordo sui suoi limiti quando si scattano le piattaforme di calcolo moderni, come la nuvola, in considerazione. La cosa interessante di Go è che è costruito per il cloud computing, e ho il sospetto che vedremo più lingue specifiche cloud emergono affrontando la stessa carenza di lingue più anziani, come C + + che Go fa. Naturalmente, alcune di queste lingue nube non può essere aperto come Go, e così si blocca applicazioni su piattaforme o nubi specifici.Si potrebbe mettere in discussione la necessità di linguaggi di programmazione specifici del cloud e strumenti contro le lingue esistenti, più popolari come Java. Ma la realtà è che questi linguaggi hanno limitazioni che limitano la produttività sulla nuvola, quindi ha senso usare una alternativa.Credo che ci sono troppi linguaggi di programmazione, e avendo ancora un codice più fate più complesso e meno portabile. D'altra parte, come sviluppatore, capisco che le persone che costruiscono software e sistemi sono sempre alla ricerca di strumenti migliori. Se la scelta è sceso a Java o Go per il mio progetto di cloud, che dovrei scegliere?E 'semplice: Se potessi evitare limitazioni su un progetto nuvola e tutti i numeri avevano un senso, mi piacerebbe scegliere Go.


lunedì 24 marzo 2014

Il futuro di strumenti di sviluppo di applicazioni su Oracle

La settimana scorsa ci siamo incontrati con Chris Tonas, Vice Presidente della Mobilità e Strumenti di sviluppo applicazioni Oracle, per sentire la sua opinione sulle ultime nel mondo di Java utensili e ambienti di sviluppo. 
D: Puoi dirci un po 'del tuo ruolo in Oracle come si riferisce agli strumenti di sviluppo? 
A: Io guido l'organizzazione che sta lavorando su strumenti e framework di sviluppo software di Oracle, in particolare, le squadre che costruiscono le nostre offerte per gli sviluppatori Java - se in NetBeans, Eclipse o JDeveloper. Il nostro team si basa anche gli strumenti e le strutture che vengono utilizzati dagli sviluppatori che lavorano con il cloud di Oracle e piattaforme mobili.
D: Questa settimana ha visto l'uscita di JDK8 e NetBeans 8 con essa. Come vede questa release? 
A: Il rilascio di JDK 8 e NetBeans 8 questa settimana rappresenta un grande passo in avanti sia per Oracle e la Comunità Java. Un sacco di duro lavoro e di collaborazione è andato in questa pietra miliare e mi piacerebbe prendere un momento per ringraziare tutti coloro che hanno contribuito a questo risultato. 
D: Con i nuovi NetBeans 8.0 fuori, quali sono i piani per NetBeans andando avanti? 
A:  Nel breve termine, una versione di aggiornamento di NetBeans 8 è in corso di allinearsi con Java ME 8. NetBeans ulteriori 8 uscite che mirano bug specifici sono previsti per essere rilasciato dopo. A più lungo termine, Oracle è impegnata al continuo successo di Java e NetBeans. I lavori per JDK 9 è attualmente in corso e stiamo progettando una versione di NetBeans 9 per andare insieme con lui, come al solito. 
Q: Come lei ha ricordato Oracle supporta più di solo il NetBeans IDE. Qual è la filosofia che ispira questo? 
A: Oracle riconosce che gli strumenti di sviluppo non sono una proposta one-size-fits-all.Oracle è un contributo significativo al progetto Eclipse e stiamo continuando a estendere le capacità delle nostre soluzioni basate su Eclipse pure. Offriamo JDeveloper per chi vuole l'allineamento più stretto con lo stack Oracle Fusion Middleware. Inoltre, ci rendiamo conto che molti sviluppatori JavaScript vogliono utilizzare strumenti leggeri, e stiamo progettando per soddisfare tali esigenze pure.
D:  Quali sono alcune delle principali tendenze che vedete nello spazio di sviluppo software in questo momento? 
A:  E 'chiaro che alcune tendenze significative stanno plasmando sviluppo software e strumenti. Oracle è in prima linea di questi cambiamenti e leader in quasi ogni aspetto.Vediamo tre modifiche principali che andranno in scena in questo momento:
  • Java rimane lo standard di settore per lo sviluppo lato server, ma vediamo la crescente domanda per supportare gli sviluppatori utilizzando la combinazione di JavaScript e HTML5 per il livello di presentazione. Vediamo JavaScript iniziando a guadagnare terreno per alcuni casi di utilizzo lato server pure.
  • Il passaggio alla distribuzione basato su cloud è ora mainstream. Sviluppo per il cloud presenta una nuova serie di sfide e richiede un nuovo approccio.
  • Il terzo turno è il passaggio al mobile. Sviluppo mobile deve essere integrato in tutta l'azienda dalla fase di progettazione per tutto il ciclo di vita.
Poiché i fornitori di strumenti per gli sviluppatori, questi cambiamenti richiedono una evoluzione delle attrezzature e delle infrastrutture utilizzate per progettare e sviluppare applicazioni. 
D:   Che cosa sta Oracle facendo per affrontare questi sviluppi? 
A:  Alcuni dei lavori è già accaduto. Ad esempio, NetBeans ha sostenuto la combinazione di Java e JavaScript per un paio di uscite momento. Guardando al futuro, Oracle ha diverse iniziative nuove e innovative basate su browser cloud-centric e mobile in corso che ci sarà la condivisione con la comunità nei prossimi mesi.
Stiamo sfruttando competenze e tecnologie provenienti da tutta la nostra organizzazione strumenti di sviluppo attuale per sviluppare queste nuove funzionalità. Vediamo la nuova generazione di strumenti di sviluppo come gratuiti agli strumenti che gli sviluppatori utilizzano e amano oggi. La prima di queste iniziative che sarete in grado di utilizzare sarà la prossima Developer Oracle Cloud Service - portare il vostro ALM e il lavoro di collaborazione in team per il cloud. Potete leggere di più su di esso a http://cloud.oracle.com/developer 
D: Dove si possono sviluppatori saperne di più su questi nuovi strumenti? 
A: Come ogni anno, la piena visione di Oracle per il futuro dello sviluppo del software sarà condiviso a JavaOne e Oracle OpenWorld entro la fine dell'anno. Il nostro team è impaziente di condividere ciò che stiamo lavorando con la comunità di sviluppo.
D: Grazie per il vostro tempo, Chris. 
A:  Sei il benvenuto.

venerdì 21 marzo 2014

Reality check: Java 8, infine, prende una pausa multicore

Java 8 offre funzionalità multicore alle librerie JDK

Due anni più tardi del previsto, Oracle ha reso Java pronti per un mondo processore multi-core.

Il gigante del database ha annunciato la disponibilità generale di Java 8, chiamando una "nuova major release".
Java 8 è importante perché è la spec base per Java enterprise Edition, così come nutrire il un'implementazione libera e open-source OpenJDK amato dai open sourcer come Red Hat.

Oracle è stato crowing su un elenco di modifiche in Java 8, che, stranamente e un po 'a sproposito, include aggiornamenti JavaFX.
Per tutti non frustare un condannato alternativa HTML5, l'interesse principale era in due aree che vedono guadagno Java piuttosto che rompere un nuovo terreno. Il primo è espressioni lambda. Sviluppato dal lavoro di Alonzo Church nel 1936, quando sono stati discussi per Java nel 2010: le espressioni lambda prendere il mal di testa di fare run software Java su multi-core.
Le espressioni lambda sono state implementate attraverso una ri-scrittura di diverse biblioteche JDK core, che farà il lavoro a basso livello di dividere i compiti di un'applicazione per l'esecuzione su diversi core.
Questo rende più facile scrivere codice multi-threaded, come fantini di codici non hanno più bisogno di programmare le loro applicazioni manualmente di utilizzare diversi processori e core. E l'applicazione stessa è più leggero, come si sta imballaggio in un minor numero di istruzioni che viene servono semplicemente come idraulico.
Come ci si aspetta dal linguaggio Java e il quadro, è l'impianto idraulico della lingua e il quadro che fanno il lavoro pesante.
Negli ultimi anni c'è stato un certo guff girano su un "rinascimento" Java e un secondo in arrivo. Ciò derivava dal fatto LinkedIn e Twitter abbandonata vita bassa-scelta Rubino per meno di moda Java. Come sempre, quando si tratta di Java, le ragioni erano le prestazioni e la scala.
Vice presidente di Twitter di infrastrutture di operazioni di ingegneria Mazen Rawashdeh annoverato nel mese di novembre 2012, che l'unico modo per Twitter è stato in grado di far fronte con il micro blogging tempesta delle elezioni negli USA era perché riscritto in Java.
Una rinascita è definito come una rinascita, ma il Java rinascimentale è stato più un litigio d'amore con la moda Ruby.
Java, però, non è mai andato via - è costantemente valutato come uno dei linguaggi più utilizzati, a numero due dietro C. Le persone hanno appena dovuto programmare in giro i bit spiacevoli, come affrontare multi-core.
Multi-core è un segno di spunta nella casella nel mondo di oggi. Troverete processori con più core su server e smart phone - pertinenti nel caso di Java grazie al successo del sistema operativo Android di Google che utilizza la Dalvik JVM.
E 'qualcosa che tutti gli sviluppatori devono affrontare. C + + appassionato di Herb Sutter è stato dicendo dal 2005 che gli sviluppatori devono scrivere applicazioni che sono multi-threaded per sfruttare la velocità e le prestazioni del core multipli piuttosto che affidarsi a produttori di chip per aumentare la velocità di clock di un singolo processore o la sua cache.
Per certi aspetti, Java 8 è in ritardo a questo mondo multi-core. Come testimoniano le conversioni di LinkedIn e Twitter, in corso la popolarità di Java e l'ascesa di Android, gli sviluppatori Java sono state affrontando con la costruzione multi-core senza attendere la specifica ufficiale per raggiungere il mondo reale.
Ora è qui, avrà Java 8 prendere la lingua e la piattaforma in posti nuovi?Improbabile. Sarà solo rende le cose più facili e le applicazioni migliori.
Anche Oracle ha ammesso Lambda è l'unico motivo per l'adozione di Java 8 e quasi tutto il resto viene propagandato da Oracle oggi è vetrinistica.
Quando il Java 8 roadmap ha colpito la sua seconda crisi scorsa primavera, Oracle capo architetto per il gruppo di piattaforma Java Mark Reinhold era sincero nella sua valutazione sull'importanza di Lambda per il successo di Java 8. "Se lasciamo cadere Lambda poi le restanti funzioni sono interessanti, ma non, nel suo complesso, molto convincente," Reinhold ha scritto sul suo blog qui . "Un comunicato Lambda-less quest'anno sarebbe quindi improbabile ottenere ampia adozione, quindi perché preoccuparsi?"
La prima crisi aveva visto Java 8 spogliato del suo altro grande, caratteristica di punta Jigsaw, progettato per fornire modularità. Jigsaw era stato tirato nel 2012 a causa di "notevoli difficoltà tecniche", che significherebbe Java 8 non sarebbe in grado di colpire la data di consegna prevista di "ritardo" 2012, che era stato l'obiettivo originale nel 2010 .
Tutto questo ci porta al secondo grande sviluppo in Java 8 e una grande, nuova "feature" viene propagandato da Oracle: la sicurezza.
Java lo scorso anno è stato punto da 42 falle di sicurezza, 19 gravi. Chiusura questi fori si è rivelato un rivelata un ponte troppo lontano per il completamento entro la data di ri-lavorato di settembre 2013 e quindi il Java finito 8 è stato spinto ad oggi.
L'anno scorso, Reinhold aveva avvertito che era o espressioni lambda o di sicurezza o spingere indietro la scadenza al termine. Il risultato? A spec Java e la piattaforma che non è molto innovativa, ma che sia almeno in un migliore allineamento con il mondo reale. ®

mercoledì 19 marzo 2014

Java 8 è ora disponibile!

Questo post è per informarvi che Java 8 è stato ufficialmente rilasciato da  Oracle . È possibile scaricare la versione ufficiale  qui .
In poche parole:
  • Lambda espressioni: una nuova funzione linguaggio che consente di trattare funzionalità come un argomento del metodo, o il codice come dati.
  • Altri significativi miglioramenti e modifiche al linguaggio Java e librerie standard, compresi i metodi di default, il nuovo pacchetto java.util.stream, e l'API data-ora.
  • I profili compatti contengono sottoinsiemi predefiniti della piattaforma Java SE e consentono alle applicazioni che non richiedono l'intera piattaforma da distribuire ed eseguiti su piccoli dispositivi.
  • Miglioramenti della sicurezza includono aggiornamenti Java Cryptography Architecture, limitato doPrivileged, un meccanismo che consente al codice di affermare un sottoinsieme dei suoi privilegi, SSL / TLS Server Name Indication (SNI) Ampliamento e miglioramenti keystore.
  • Documentazione JavaFX è stato aggiornato per questa versione.
  • Un nuovo motore JavaScript, Nashorn, è incluso nel JDK 8.
  • Java Mission Control 5.3 è incluso nel JDK 8.
  • Smantellamento dello spazio JVM Generation permanente e sostituito dal Metaspace .
Io pubblicherò più articoli nelle prossime settimane, compreso tutorial su Java Mission Control 5.3 che ora fa parte del JDK 8.In frattempo, vi suggerisco di rivisitare il mio articolo originale sulla sostituzione dello spazio HotSpot PermGen dal  Metaspace . Io pubblicherò la parte 2 nelle prossime settimane.

martedì 18 marzo 2014

Team Collaboration on App42 PaaS

Pubblicato il  da Deo R. Tripathi


La collaborazione in team è caratteristica fondamentale quando due o più di due lavori membro di uno scopo comune per raggiungere gli obiettivi. Qui in App42 PaaS, la collaborazione in team è tutto sulle autorizzazioni. Se avete aggiunto i membri del team, dando loro il permesso parziale o totale sul vostro particolare risorsa, allora si può prendere cura della risorsa all'interno di accesso consentito in assenza di te.
App42 PaaS consente di aggiungere il vostro membro del team come collaboratore per le risorse (come App, un servizio, il programma di installazione). Si può dare loro le autorizzazioni per le risorse in modo che possano gestire. Una volta che accetteranno l'invito, essi saranno in grado di gestire le risorse con le operazioni consentite.
È possibile aggiungere il numero collaboratore come si desidera sulle risorse e dare le autorizzazioni diverse (come la vista, avviare, arrestare, scala ecc.) È inoltre possibile modificare o revocare completamente l'autorizzazione in qualsiasi momento dal particolare collaboratore.
In questo post, vi guiderà su come invitare i permessi degli utenti e di sovvenzione e far loro gestire le risorse utilizzando App42 PaaS Management Console.
Fase 1:   Invito collaboratore
Prerequisiti:
  1. Registrati con la piattaforma App42 PaaS.
  2. Installare e configurare App42 PaaS Cliente.
Per invitare collaboratore, è necessario effettuare il login con i propri App42 PaaS credenziali e fare clic su 'Invita Collaboratore 'link e inserisci email Id.
Utilizzando App42 PaaS HQ Console-
invitare coll Team Collaboration on App42 PaaS
Passo 2:   Creare una risorsa (App, un servizio, il programma di installazione), ora è possibile aggiungere collaboratore e dargli i permessi di lasciarlo gestirlo. Per sapere come creare la vostra risorsa sulla piattaforma App42 PaaS, clicca qui .
Passo 3:  Ora, dopo aver invitato collaboratore, clicca su ' Gestione Permission ', ora selezionare il tipo di risorsa (Setup, App, Service) e il nome della risorsa e verificare le autorizzazioni che si desidera dare a quel particolare collaboratore.
Utilizzando App42 PaaS HQ Console-

managePermission Team Collaboration on App42 PaaS
È stato invitato con successo collaboratore e concesso autorizzazioni per fargli gestire la risorsa. Per saperne di più sulla collaborazione App42 PaaS clicca qui

lunedì 17 marzo 2014

Il tuo breve resoconto di meglio di test JavaScript


Provate ad usare Karma, Jasmine, e Istanbul per il flusso di lavoro di test JavaScript
By Jonathan Freeman
Lasciatemi dire che questo modo più semplice possibile: è necessario testare il codice JavaScript. Sì, ho capito come è facile trascinare i piedi quando non si conoscono gli strumenti che rendono il test rapido e indolore per voi. Ecco perché io sono qui per aiutare. Nei miei primi giorni di test, la mia più grande hangup è stata la fatica di configurazione e l'esecuzione di test. Il "test corridore" è stato al centro del dolore: Si trattava di una pagina HTML che include il framework di test, tutti i miei file JavaScript, e tutti i miei file di test. Per eseguire i miei test, avevo bisogno di aprire la pagina in un browser ed eseguirlo per vedere i risultati. Quando un test fallito, mi piacerebbe risolvere qualche codice, tornare al browser e aggiornare - o meglio, di test su più browser e li rinfresco, guardando singolarmente per ottenere risultati. A peggiorare le cose, per aggiungere un nuovo file di origine o di prova, avrei dovuto modificare manualmente la pagina di prova corridore per includere i nuovi file.
Ora testare un progetto serio JavaScript e guardare il vostro carico di lavoro crescere.Si ', si sta testando, ma è doloroso.
Ci devono essere alcuni grandi strumenti per rendere questo più facile, giusto?Naturalmente ci sono - ma, come con qualsiasi altra cosa JavaScript questi giorni, ci sono un milione di 'em. Qui ci sono i miei preferiti e come li utilizzano. Per una trattazione più approfondita,  visitate questa pagina , dove ho scritto una guida utilizzando questi strumenti per testare una pagina singola base app Web in esecuzione Backbone.js.
Iniziare con Karma 
Karma  è oggi la pietra angolare del mio flusso di lavoro di prova. Karma, ex (per ovvie ragioni) Testacular, è un fantastico test runner automatizzato che mantiene miei test in esecuzione e la mia sanità mentale intatta. Gestito da un membro del team Angular.js di Google, Karma offre grande funzionalità out of the box ed è facilmente estendibile.
Ecco quello che sembra per eseguire test: Eseguire  il karma iniziare  dalla directory principale del progetto JavaScript.Tutto qui. Questo comando avvierà automaticamente tutti i browser specificati nel file di configurazione ed eseguire i test. Poi si guarda il file system per le modifiche ed eseguire nuovamente i test in tutti i browser, come si salva.
Il problema è che si deve preparare un file di configurazione per impostare le prove che si desidera. Il file è piuttosto semplice: Eseguire  init karma  e ti guiderà attraverso tutte le basi e generare un file in base alle vostre esigenze. In primo luogo, si deve decidere che cosa framework di test si intende utilizzare.
Karma è di per sé prova-framework agnostico e si basa su plug-in per sapere come trattare con i framework. I plug-in sono disponibili per la maggior parte dei quadri che si desidera utilizzare, tra cui Jasmine, Mocha, e QUnit. Se non stai usando uno di quelli, controllare Npm (il gestore di pacchetti ufficiale per Node.js) per un plug-in Karma prima di arrivare troppo investito. Se non esiste plug-in per il framework di test, è possibile scrivere il proprio plug-in o passare a un quadro meno esoterico.Il prossimo compito è quello di configurare il vostro browser. Karma lancerà automaticamente tutti i browser specificate, tra cui Chrome, Firefox, IE e Opera.Inoltre, è possibile avviare ed eseguire il test in un ambiente senza testa con PhantomJS o SlimerJS. Non abbastanza per te? Con un piccolo extra di configurazione, è possibile ottenere il Karma di agganciare in  BrowserStack  o  salsa di eseguire i test su qualsiasi browser che hanno a disposizione. Tu dici che vuoi testare un browser TV Samsung? Fino a quando un dispositivo è dotato di un browser e l'accesso in rete, locale o altro, è possibile collegare manualmente ed eseguire i test anche lì. Basta navigare l'indirizzo IP del computer host alla porta specificata e farà il resto, compresi eseguire nuovamente i test automaticamente.Dopo aver scelto il vostro browser, dire Karma dove trovare i file. Se l'ordine è importante, è possibile elencare i file uno a uno - anche se io non consiglio la creazione di un progetto in tal modo. Invece, utilizzare uno strumento come RequireJS per gestire le dipendenze per voi. In questo modo, tutto ciò che serve a comprendere è qualcosa di simile  src / ** / *. js  e  prova / ** / * Spec.js  e siete a posto. Aggiungere file e rimuovere i file a vostro piacimento e non toccare mai il file di configurazione. Se avete bisogno di un martello più piccolo  ** / *. js , Karma capisce le espressioni regolari JavaScript, in modo da rispolverare e andare avanti.Per i progetti di base, questo è tutto! Dite Karma di guardare le modifiche il file di sistema per lo sviluppo locale, gestiti  inizio karma , e cominciare i test di scrittura. 
Altri strumenti per il lavoro che ho una manciata di trucchi di configurazione che uso quando il test di applicazioni backbone (in particolare per quanto riguarda i modelli), così come plug-in e strumenti che possono essere utili supplementari. Li troverete  nel pieno procedura dettagliata , ma io ti delineare alcuni qui.Parlando di asserzioni, se si sta scrivendo codice per Node.js o solo il targeting browser moderni, dare un'occhiata seria a should.js . Si tratta di una libreria affermazione che gioca bene con Jasmine e legge chiaramente. L'unico problema è che usa le proprietà di accesso ECMAScript (getter e setter), che alcuni browser - in particolare IE8 e precedenti - non supportano.Mentre Jasmine offre molti sostenitori di test, come simulazioni e spie, ma solo di recente iniziato a sostenere la capacità di richieste XHR falsi. Il nuovo supporto ha una certa maturazione da fare, quindi dovrò restare con il mio ex alleato,  sinon.js , per sostituire il server. Sinon.js raddoppia un sacco di funzionalità di Jasmine, ma ha avuto la capacità desiderata per simulare un server da qualche tempo. E 'anche facile da configurare e utilizzare.Tutti i test che faccio è quello di garantire il mio codice è coperto. Io uso il plug-in Karma per il  istanbul  strumento di copertura di codice. Costruita sulle spalle di esprima  e  escodegen  istanbul  funziona bene con il Karma. Di per sé, genera report in HTML e lcov, ma il plug-in Karma aggiunge il supporto per l'output di testo e XML Cobertura, in modo Jenkins può capire. Sì, Karma ha plug-in per strumenti di integrazione continui, troppo.Insieme, questi strumenti mi hanno risparmiato un sacco di tempo e mal di testa. Se siete interessati a unit test del JavaScript o aggiornare il proprio flusso di lavoro di test corrente, trascorrere un giorno o due a giocare con loro per vedere se hanno ragione anche per te. Se incorrere in problemi o hai altre domande o suggerimenti, non esitate a commentare qui o raggiungere via Twitter ( @ freethejazz ).

venerdì 14 marzo 2014

Spring Integration Application Standalone con la Primavera Boot

Biju Kunjummen 2014/03/14
L' Enterprise Integration Zone è portato a voi in partnership con MuleSoft , creatori del # 1 ESB .Scopri di più su API , il futuro di Architettura e Legacy Integration .
I had in precedenza bloggato di un modo per scrivere un alone di applicazione di primavera l'integrazione. Spring Boot permette di creare questa applicazione standalone molto più semplice. La semplice flusso era per interrogare il servizio USGS fornire informazioni circa l'attività sismica tutto il mondo, e per registrare questa informazione. Il flusso descritto utilizzando Spring integrazione è la seguente:



01.int : ingresso-channel-adattatore channel = "quakeinfotrigger.channel"espressione = "''" >
. 02int : poller-ritardo fisso = "60000" > </ int : poller>
03.</ int : ingresso-channel-adattatore>
04. 
. 05int : id = canale "quakeinfo.channel" >
06.int : capacità coda = "10" />
. 07</ int : canale>
08. 
. 09int : id = canale "quakeinfotrigger.channel" > </ int : canale>
10. 
11.int -http: in uscita-ingresso id = "quakerHttpGateway"
12.request-channel = "quakeinfotrigger.channel"
14.http-method = "GET"
15.previsto-risposta-type = "java.lang.String"
16.charset = "UTF-8"
17.reply-timeout = "5000"
18.reply-channel = "quakeinfo.channel" >   
19.</ int -http: in uscita-ingresso>
20. 
21.int : logging-channel-adapter id = "messageLogger" log-full-message ="true" channel = "quakeinfo.channel" Livello = "ERROR" >
22.int : poller-ritardo fisso = "5000" > </ int : poller>
23.</ int : logging-channel-adattatore>
Pre-boot, il modo di scrivere un programma principale per avviare questo flusso sarebbe stato lungo queste linee:


01.pacchetto standalone;
02.import org.springframework.context.support.ClassPathXmlApplicationContext;
03. 
04.pubblici classe principale {
05.pubblici statici vuoto principali ( String [] args) {
. 06ClassPathXmlApplicationContext applicationContext = nuovoClassPathXmlApplicationContext ( "classpath :/ httpgateway.xml" );
. 07applicationContext.registerShutdownHook ();
08.}
09.}
Con la Primavera-boot ma la configurazione è IMHO più semplice:
Visualizza sorgente
stampare?
. 1mvn primavera-boot: conduzione
Ho avuto una piccola parte nel fissare questo script start-up, contribuendo una modifica al plugin per avviare l'applicazione senza la necessità di eseguire manualmente il passaggio di compilazione prima.Ancora meglio, la primavera-boot-maven-plugin fornisce gli strumenti per impacchettare l'intera applicazione in un jar eseguibile che viene attivato durante la fase di pacchetto, lungo le linee di ombra plugin:


Visualizza sorgente
stampare?
1.mvn pacchetto
e il jar eseguibile eseguito in questo modo:
Visualizza sorgente
stampare?
1.java-jar target/si-standalone-sample- 1.0 -SNAPSHOT.jar
Un progetto aggiornato con questa modifica è disponibile in questa GitHub posizione - https://github.com/bijukunjummen/si-standalone-sample