When using Scala RemoteActors I was getting a ClassNotFoundException that referred to scala.actors.remote.NetKernel. I copied someone else's example and added RemoteActor.classLoader = getClass.getClassLoader to my Actor and now everything works. Why is this necessary?
Why is setting the classloader necessary with Scala RemoteActors?
1.2k views Asked by Craig P. Motlin At
1
There are 1 answers
Related Questions in SERIALIZATION
- Deserialize XML with optional different name
- How to serialize Any with Kotlin serialization?
- Flink Stuck on Broadcast
- How do I add serialization into Kotlin Jet Compose project?
- fix django login bug
- How to execute code "before_serialize"? or How can I sanitize attributes before they are serialized?
- Ical.net Serialization Error when serializing 12:00 AM Midnight
- how can i unserialize Symfony transport messages?
- How to change a queryset in Django?
- How to serialize object to JSON format which inherits IList and has other properties
- Json.stringify() is ignoring a object property after xlsx.sheet_to_json
- how to make aiogram.Message from telethon.Message
- implementin filter for vector of custom struct in RUST
- How to properly Serialize/Deserialize an ArrayList with Custom Objects?
- Append serialized objects to a single file and load Rust
Related Questions in SCALA
- Mocking AmazonS3 listObjects function in scala
- Last SPARK Task taking forever to complete
- How to upload a native scala project to local repo by sbt like using "maven install"
- Folding a list of OR clauses in io.getquill
- How to get latest modified file using scala from a folder in HDFS
- Enforce type bound for inferred type parameter in pattern matching
- can't write pyspark dataframe to parquet file on windows
- spark streaming and kafka integration dependency problem
- how to generate fresh singleton literal type in scala using macros
- exception during macro expansion: type T is not a class, play json
- Is there any benefit of converting a List to a LazyList in Scala?
- Get all records within a window in spark structured streaming
- sbt publishLocal of a project with provided dependencies in build.sbt doesn't make these dependencies visible to projects using the project as library
- Scala composition of partially-applied functions
- How to read the input json using a schema file and populate default value if column not being found in scala?
Related Questions in CLASSLOADER
- Unable to load Subject segmentation service of com.google.android.gms
- How to use your own Bouncy Castle version in an application deployed on JBoss EAP 7.4
- Loading Jar into classpath which is not defined in pom.xml
- Override classes present in Spring Boot fat jar with classes in external jar present in loader.path
- How to get SystemClassLoader URLs in JDK17 gracefully?
- Maven plugin: common dependency in plugin and project, create dependency class object in plugin from class in project
- Getting 404 when accessing classes annotated with @Path in {war}/WEB-INF/classes in Jetty 9
- Translet class loaded, but unable to create translet instance
- jvm classloading issue (defineClass1)
- How to dynamically load a jar in runtime (Not for reflection)
- TomEE - How does ClassLoader load from 3 webapps
- Spring boot jar loading
- how to load JPA Entities and Repositories in sprint boot app from external folder/jar
- loading constraint violation when resolving method "javax/imageio/metadata/IIOMetadata.getAsTree(Ljava/lang/String;)Lorg/w3c/dom/Node
- Generate custom java code like lombok at compile time
Related Questions in REMOTE-ACTORS
- AtMost Once Message Delivery in Actor Cluster Sharding Entity Actor
- Unable to import Actor from cell.actors
- Firefox 70 - remote debugging - unable to get consoleActor
- Akka Remote Actor - actorSelection failed to be remote
- How to get the port of a remote actor when it was dynamically set?
- Scala system.shutdown not working
- Send payload while sending message to an akka actor
- Force local akka serialization
- Akka Actor on server not returning an ActorIdentity response to an Identify message
- Akka remote actors from different networks
- Akka remote actors with custom dispatcher
- Scala Remote Actor Example - Eclipse
- How send messages to akka system in neighbouring jvm?
- Dart remote isolates like remote akka actors
- Akka inform remote actor on error
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Remote Actors use Java serialization to send messages back and forth. Inside the actors library, you'll find a custom object input stream ( https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/actors/scala/actors/remote/JavaSerializer.scala ) that is used to serialize objects to/from a socket. There's also some routing code and other magic.
In any case, the ClassLoader used for remoting is rather important. I'd recommend looking up Java RMI if you're unfamiliar with it. In any case, the ClassLoader that Scala picks when serializing/deserializing actors is the one Located on RemoteActor which defaults to null.
This means that by default, you will be unhappy without specifying a ClassLoader ;).
If you were in an environment that controls classloaders, such as OSGi, you'd want to make sure you set this value to a classloader that has access to all classes used by all serialized actors.
Hope that helps!