All stored procedures need to be built into a JAR. The JAR may contain Java or Scala code. The JAR does not need to be an executable JAR. BlobCity does not execute the JAR, but loads the classes using a custom class loader.
The JAR can be uploaded to the database server via FTP into the FTP directory or directly dropped into the FTP directory. The JAR can then be loaded by calling the
load-code command from the Web Service or CLI interface.
Maven / Gradle maybe used to build code and package the JAR's.
A jar is loaded for the entire datastore. When you load a new jar in a datastore using the
load-code CLI or REST command the newly loaded jar will replace any previously loaded jar for that datastore. This means that only a single jar maybe loaded per datastore at any point in time. For this reason it is important that all stored procedures to be used with a single datastore be packed into a single jar. Each datastore may have it's own jar loaded and more than one datastore can have jars loaded on the same running server instance, but limited to one jar per datastore.