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.1k views Asked by Craig P. Motlin At
1
There are 1 answers
Related Questions in SERIALIZATION
- What does "raw image data, as a byte string" mean?
- StackOverflowError on decision tree generating JAVA
- eyed3 package for Python not properly setting ID3 metadata
- Extract ID3 tags of a MP3 URL with partial download using python
- Read mp3 Popularimeter in ID3.NET?
- Is it possible to add custom metadata tags to music files?
- Accord.NET machine learning on table data to predict next row
- Fetching ID3 metadata while HLS stream is being played on AppleTV via Airplay
- string.replace('the','') is leaving white space
- Read id3 tags from mp3 files in a folder through javascript
Related Questions in SCALA
- What does "raw image data, as a byte string" mean?
- StackOverflowError on decision tree generating JAVA
- eyed3 package for Python not properly setting ID3 metadata
- Extract ID3 tags of a MP3 URL with partial download using python
- Read mp3 Popularimeter in ID3.NET?
- Is it possible to add custom metadata tags to music files?
- Accord.NET machine learning on table data to predict next row
- Fetching ID3 metadata while HLS stream is being played on AppleTV via Airplay
- string.replace('the','') is leaving white space
- Read id3 tags from mp3 files in a folder through javascript
Related Questions in CLASSLOADER
- What does "raw image data, as a byte string" mean?
- StackOverflowError on decision tree generating JAVA
- eyed3 package for Python not properly setting ID3 metadata
- Extract ID3 tags of a MP3 URL with partial download using python
- Read mp3 Popularimeter in ID3.NET?
- Is it possible to add custom metadata tags to music files?
- Accord.NET machine learning on table data to predict next row
- Fetching ID3 metadata while HLS stream is being played on AppleTV via Airplay
- string.replace('the','') is leaving white space
- Read id3 tags from mp3 files in a folder through javascript
Related Questions in REMOTE-ACTORS
- What does "raw image data, as a byte string" mean?
- StackOverflowError on decision tree generating JAVA
- eyed3 package for Python not properly setting ID3 metadata
- Extract ID3 tags of a MP3 URL with partial download using python
- Read mp3 Popularimeter in ID3.NET?
- Is it possible to add custom metadata tags to music files?
- Accord.NET machine learning on table data to predict next row
- Fetching ID3 metadata while HLS stream is being played on AppleTV via Airplay
- string.replace('the','') is leaving white space
- Read id3 tags from mp3 files in a folder through javascript
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?
Popular Tags
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!