Currently, XML file based repositories have been used in Apache ACE. Can we change them to make DBMS based? If yes, any guidelines are available?
1
There are 1 best solutions below
Related Questions in REPOSITORY
- Cant connect to any github repository from my netbeans 20
- Save Interface in DB golang
- Files lost from Github repository
- Single Github repository for two local repos for a fullstack project
- Git Webhook to trigger SageMaker Pipeline
- Need more parameters in subclass overridden method
- Build code in new cpp file in a cloned repository
- Troubleshooting Azure DevOps External Repository Cloning Authentication Issue
- How to have helm / helmfile install the most recent chart version from a repo?
- Can't able to merge branch to main branch in github
- I was a contributor on a Github repository that does not exist anymore. I still have those files on my computer. How do I upload the files to Github?
- Spring can't find the specified Bean
- Create SFDX project vs code from repository?
- Magnolia Git Repo Documentation Access
- Conditionnal repositories in Golang
Related Questions in APACHE-ACE
- Is there any way to upload Artifacts to the Apache ACE server without Web UI?
- How to store artifacts at targets using Apache ACE?
- Set ACE target launcher's internal server port to Bluemix's random port number
- when does Apache felix perform signature verification of a OSGI bundle .jar file?
- Running gogo shell client api commands via shell script
- Using Apache ACE for automatic OSGI software distribution
- How to add custom bundles part of the Target?
- Connecting to Apache Ace Server with Custom Launcher
- Apache ACE Agent integration with Apache Felix embedded in Tomcat?
- Apache Ace as a Service
- Apache ACE together with Apache Felix embedded in Tomcat?
- Adding Apache ACE target configuration files
- Failure in artifact upload in Apache ACE
- Integrate Apache ACE with Equinox
- Adding targets in Apache ACE
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?
ACE uses two layers of abstraction when it comes to storage:
Repository
I'll start at the bottom. Here, ACE introduces the notion of a Repository, which is nothing more than a versioned BLOB of data. Each repository starts versioning at 1, and every time you commit a new BLOB, that version gets bumped. There are multiple such repositories, which can be addressed by name.
Writing a different implementation of this Repository interface is fairly straightforward, and you can use any back-end that supports some form of BLOB, including a DBMS. Do note that at this level, there is no notion of what's inside these BLOBs, so depending on your reasons for using a DBMS here, that might or might not be what you want.
Object Graph
On top of this Repository, ACE uses an in-memory object graph of POJOs to represent its state. The POJOs hold metadata like for an artifact its URL, bundle symbolic name, version, etc. The POJOs are currently persisted and restored using XStream (that's where the XML comes from). At this level you could opt for storing the graph in a completely different way as well (maybe even completely bypassing the underlying Repository in favor of something else). Note though that ACE in general assumes that this whole graph of objects is versioned every time it is persisted (so we're not overwriting any old data).
Hopefully this explains a bit more about what's involved. If you want to discuss this some more, don't hesitate to subscribe to the ACE dev mailing list (see http://ace.apache.org/get-involved/mailing-lists.html for information on how to subscribe).