Comments (3)
An idea of the API design:
- a) Java-based plugins include jar files at classpath/* directory
- b) Even java-based plugins include lib/embulk/input_xyz.rb (or output_xyz.rb) file. Its code is as like this:
loader = Embulk::JavaPluginClassLoader.new(File.dirname(__FILE__)+"../../../classpath")
Plugin.register_output("csv", loader.get("org.embulk.output.CsvOutput.class"))
PluginClassLoader loads a class if it's found at the parent class loader. Otherwise, it loads the class from itself. This is how JRubyClassLoader works to not cause phantom definition. (In other words, we might be able to use JRubyClassLoader).
from embulk.
#56 implemented java plugin loader.
from embulk.
Great Job! I wanted the feature!
from embulk.
Related Issues (20)
- Example test failure on macOS 13 with latest JDK 8 HOT 4
- The embulk process sometime throw java.lang.OutOfMemoryError: Metaspace When Plugin throw exception HOT 7
- Confirm to run on modern Java (11 and/or 17) HOT 4
- Add the Contributor License Agreement process, and the CONTRIBUTORS file
- Implement a new plugin testing library with JUnit 5
- Follow up toMap
- embulk --version with -X gem_home HOT 3
- embulk -X gem_home /path/to/foo (not gem_home=/pat/to/foo) HOT 2
- embulk v0.10.48 maven plugin-install needs maven-dependency-plugin v3.5.0 HOT 3
- mark 0.10.x releases as pre-release?? HOT 1
- `preview_sample_rows` for Input Plugins
- header-only file HOT 3
- Add a discussion forum link in the issue template.
- v0.11.0 embulk gem update --system raise the error "No such file or directory" HOT 1
- Upgrade the jackson version HOT 1
- Field 'BufferAllocator' is required but not set HOT 2
- org.embulk.config.ConfigException: OutputPlugin 'bigquery' is not found. org.jruby.exceptions.LoadError: (LoadError) no such file to load -- google/apis/bigquery_v2 HOT 2
- Issue on timestamp formatting when using timezones HOT 1
- Remove the constructor of PageBuilder
- Remove the constructor of PageReader
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from embulk.