Sto provando a creare un JAR autonomo contenente Akka, Spray e Jetty. Idealmente distribuisco l'intera applicazione in quel singolo file, senza alcun file esterno di sorta.Combinare Akka, Spray e Jetty incorporato
ho capire come creare un'istanza del server Jetty incorporato
def main(args: Array[String]): Unit = {
val server = new Server(9012);
server.start();
server.join();
Thread.sleep(2000);
server.stop();
}
e ho seguito il codice di esempio Spray nella creazione di una classe di HelloService e di avvio, ma non ho idea terrena di come collegare i due , in modo che quando viene richiesto un URL sul server Jetty un servizio Spray risponda ad esso. Qualsiasi aiuto sarebbe molto apprezzato.
Aggiornamento: Mi sto avvicinando molto alla risoluzione di questo problema, grazie a una serie di richieste di Alois Cochard (provengo da uno sfondo di scripting Web e mi sono messo a conoscenza dei servizi Web Java stato ... impegnativo!). Ho modificato il mio main method per avviare il server e leggere i file Jetty e akka configuration presenti nel modello di partenza. E 'la lettura di entrambe le file, ma ora sto ottenendo questo quando ci si dirige verso/sul server Jetty:
HTTP ERROR: 500
Problem accessing /. Reason:
assertion failed: 0 actors for id 'spray-root-service' found, expected exactly one
So che mi manca qualcosa di stupido (e, probabilmente, che avrei dovuto abbattere e utilizzare SBT , ma essere in grado di compilare ed eseguire solo in Eclipse, e quindi aggiornare nel browser, è così semplice e accattivante).
Aggiornamento n. 2: risolto il problema. Non stavo creando un oggetto WebAppContext, il che significava che il web.xml non veniva mai letto e quindi Akka non veniva mai caricato. This is the revised metodo principale che ora funziona.
Sai di [sbt-assembly] (https://github.com/sbt/sbt-assembly)? – AmigoNico