Scala RemoteActors kullanıldığında, scala.actors.remote.NetKernel öğesine yönlendirilen bir ClassNotFoundException alıyorum. Başkasının örneğini kopyaladım ve Aktörüme RemoteActor.classLoader = getClass.getClassLoader
ekledim ve şimdi her şey çalışıyor. Bu neden gerekli?Scala RemoteActors ile sınıf yükleyicisini neden gerekli kılıyor?
cevap
Uzak Aktörler, iletileri ileri ve geri göndermek için Java serileştirme kullanır. Aktörler kütüphanesinde, bir sokete/nesneden nesneleri serileştirmek için kullanılan özel bir nesne giriş akışı (https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/actors/scala/actors/remote/JavaSerializer.scala) bulacaksınız. Ayrıca bazı yönlendirme kodu ve diğer büyü var.
Her durumda, remoting için kullanılan ClassLoader oldukça önemlidir. Eğer bilmiyorsanız Java RMI'yi aramanızı tavsiye ederim. Her durumda, seri hale getirici/seri hale getirici aktörler Scala'nın seçtiği ClassLoader, RemoteActor'da bulunan, null olarak varsayılan değerdir.
Bu, varsayılan olarak, ClassLoader belirtmeden mutsuz olacağınız anlamına gelir;). Böyle OSGi olarak classloaders, kontrol eden bir ortamda olsaydı
, size tüm tefrika aktörler tarafından kullanılan tüm sınıflara erişimi olan bir classloader bu değeri ayarlamak emin olmak istiyorum.
Bu yardımcı olur umarım!
- 1. Swift: Alt sınıf içerisindeki typealias'ı geçersiz kılıyor
- 2. Tür takma adının oluşturulması "sınıf türü gerekli" hatasına neden olur
- 3. Linux'taki NSIS yükleyicisini imzalayın
- 4. Neden django, tüm model sınıflarını models.py içinde olmasını zorunlu kılıyor?
- 5. Çal Scala: Sınıf I Scala Play'de acemiyim
- 6. Golang'da neden arayüz gerekli?
- 7. Webkit tarayıcıları, CSS'yi Mozilla Firefox'tan farklı kılıyor ... Neden?
- 8. Apple'ın Windows Bonjour yükleyicisini msi
- 9. Scala, İki dosya var sınıf
- 10. Scala neden bir declype içermiyor?
- 11. Neden bir yeterlilik gerekli değil?
- 12. Scala - Aşağıdakilerin sınıf hiyerarşisi vardır
- 13. Scala. jenerik bir sınıf yapma
- 14. Python Metodu geçersiz kılıyor, imza konusu mu?
- 15. Neden ikinci bir cin.ignore() gerekli?
- 16. Scala: Filtreyi neden kaldırılmıyor?
- 17. Webpack - Webpack.config.json'da Komut Dosyası Yükleyicisini Kullanma
- 18. asp.net vnext sınıf kitaplığında gerekli özniteliği kullanamazsınız
- 19. Neden statik sınıf değişkenlerini C++ ile başlatmalıyım?
- 20. Scala Oynat form onaylama: gerekli boolean zorunlu değil
- 21. Scala vals Ben Scala ile oynamak başlıyorum
- 22. NoClassDefFoundError, Scala jar dosyasını çalıştırırken
- 23. Scala neden org.apache.commons.lang paketini bulamıyor?
- 24. Aşağıdaki scala kodu neden geçerli?
- 25. Neden gerekli program için çıktı almıyorum?
- 26. ActionBarCompat taşması arka planını geçersiz kılıyor mu?
- 27. assemblyMergeStrategy scala neden olur.MatchError derlerken
- 28. Scala stdlib'de neden ARM yok?
- 29. Scala: JSON'u bir sınıf sınıfına doğrudan ayrıştırın
- 30. Scala Framework oyna - sınıf veya tekil
Tam cevap için teşekkür ederiz. Scala'nın null'dan daha iyi bir varsayılan seçmesi mümkün değil mi? –
'null', bildiğim kadarıyla platform varsayılanıdır. Aslında, 'null' sınıfı yükleyici, Java çalışma zamanını ayarlayan "Sistem sınıfı yükleyicisi" anlamına gelir. – soc
Sistem yükleyicisi neden uygun değil? –