Akka, Spray ve Jetty'yi içeren bağımsız bir JAR oluşturmaya çalışıyorum. İdeal olarak, tüm uygulamayı, tek bir dosyada, herhangi bir harici dosya olmadan dağıtıyorum.Akka, Sprey ve gömülü Jetty'i birleştirin
Ben gömülü bir İskelesi sunucusu örneğini
def main(args: Array[String]): Unit = {
val server = new Server(9012);
server.start();
server.join();
Thread.sleep(2000);
server.stop();
}
nasıl oluşturulacağını anlamak ve ben HelloService ve önyükleme sınıf yaratmada Sprey örnek kod takip ettik ama ikisini bağlamak için nasıl dünyaya ait olmayan bir fikrim yok Böylece, Jetty sunucusunda bir URL talep edildiğinde, bir Püskürtme hizmeti buna yanıt verir. Herhangi bir yardım çok takdir edilecektir.
Güncelleme: Ben Alois Cochard (Bir web komut dosyası arka plandan gelen ve Java web hizmetleri etrafında başım alıyorum tarafından istendiğinde soruşturma konuya sayesinde bu sorunu çözmek için çok daha yakın alıyorum sahiptir ... zorlu!). Sunucuyu başlatmak için main method değiştirdim ve başlangıç şablonundaki Jetty ve akka configuration dosyalarını oku. Bu bu dosyaların ikisi okuyor ama İskele sunucuda/gittiğinizde şimdi bu alıyorum:
HTTP ERROR: 500
Problem accessing /. Reason:
assertion failed: 0 actors for id 'spray-root-service' found, expected exactly one
Ben SBT yıkmak ve kullanması gerektiğini muhtemelen saçma (ve bir şey eksik biliyorum ancak Eclipse’te derlenip çalıştırılabilir ve daha sonra tarayıcıda tazelendiğinde çok basit ve çekici olur.
Güncelleştirme # 2: Sorun çözüldü. WebAppContext nesnesi yaratmıyordum, bu da web.xml'in hiç okunmadığını ve dolayısıyla Akka'nın hiç yüklenmediğini ifade ediyordu. Şu anda çalışan This is the revised ana yöntem.
[sbt-assembly] (https://github.com/sbt/sbt-assembly) hakkında bilgi sahibi misiniz? – AmigoNico