I'm working on simple application server and i want to make extending plugin system. For building plugins i'm planning create special wizard that will generate scala source files. I'm want automatic compilation and loading this files for include their buisness logic in to my application server. Is it possible done in Scala and that i'm must read and do for realise this idea?
Scala runtime plugin system
370 Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in SCALA
- Spark .mapValues setup with multiple values
- Where do 'normal' println go in a scala jar, under Spark
- Serializing to disk and deserializing Scala objects using Pickling
- Where has "Show Type Info on Mouse Motion" gone in Intellij 14
- AbstractMethodError when mixing in trait nested in object - only when compiled and imported
- Scala POJO Aggregator Exception
- How to read in numbers from n lines into a Scala list?
- Spark pairRDD not working
- Scala Eclipse IDE compiler giving errors until "clean" is run
- How to port Slick 2.1 plain SQL queries to Slick 3.0
- Log of dependency does not show
- Getting unary error for escaped characters in Scala
- Akka actor invoked with a function delegate - is this bad practice?
- Json implicit format with recursive class definition
- How to create a executable jar reading files from local file system
Related Questions in REFLECTION
- Serializing TypeInfo / Type across .Net Platforms
- C# check if there is an overload method with the specific type
- instantiating a generic class data type known at runtime
- Instantiate a class which implements a generic interface
- C# Activator.GetInstance instances don't retain state when created as Interfaces
- How to force others to obey a specific layout for a child class?
- How should I be using LambdaMetaFactory in my use case?
- Get full path of a package situated in source folder from junit
- instantiating a generic referance class with data types known at runtime
- How to create a Dynamic IEnumerable
- Swift reflection - How to check if a reflected value is a kind of type
- GetTypeInfo Performance in Windows Store Apps
- What's the difference or relationship between Type and TypeInfo?
- Deserializing Generic Types from a ClassLouder class with GSON
- Need to print function's actual parameter name used while calling
Related Questions in SCALA-COMPILER
- object scala in compiler mirror not found - running Scala compiler programatically [no sbt - no IDE]
- scalac plugin : how to get it working after typer phase with a missing jar
- How to invoke the Scala compiler programmatically?
- How are final val defined inside a trait treated by Scala Compiler?
- Strange behavior of Scala compiler when initializing a class with a lazy argument
- What's the effect of -Yrangepos other than giving me source locations in macros
- How can I find a description of scala compiler flags/options?
- Intermediate language used in scalac?
- Scalac hanging on phase typer of RegexParser
- In scala 2, can macro or any language feature be used to rewrite the abstract type reification mechanism in all subclasses? How about scala 3?
- Is there scala compiler option that makes ` Option[T](t).map(x => null)` return None instead of Some(null)
- Pattern matching - value is not a member on a bound variable
- How to declare in scala a default param in a method of an implicit class
- Why do my bytes appear to get corrupted when I try to write them from inside if statements or pattern matches
- "scala.runtime in compiler mirror not found" but working when started with -Xbootclasspath/p:scala-library.jar
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)
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?
You have two choices.
Use OSGi. It's designed for plugins, and has some very nice features for loading/unloading services, handling cross-service dependencies, etc. On the down side, it does mean that you'll have to pre-compile your plugins and wrap them in a jar file along with a valid OSGi manifest.
Use ScalaScriptEngine (or something equivalent). It seems to already handle all of your requirements :)