package noop
Type Members
- class NoopRawStorage extends RawStorage
- trait RawStorageProvider extends Provider[NoopRawStorage]
The base package of the Streambed library.
The base package of the Streambed library. Of note is the com.cisco.streambed.Application suite of types. These types conveniently establish a streambed environment for an application.
Sample usage from Java:
/** * Bootstraps our application and handles signals */ public class MyServerEntryPoints { private static ApplicationProcess applicationProcess = null; public static void main(String[] args) { applicationProcess = new ApplicationProcess(new MyServer()); applicationProcess.main(args); } public static void trap(int signal) { if (applicationProcess != null) { applicationProcess.trap(signal); } } }
...with MyServer being declared as:
public class MyServer extends Application { @Override public void main(String[] args, ApplicationContext context) { .. } }
The equivalent in Scala:
object MyServerEntryPoints { private lazy val applicationProcess = ApplicationProcess(MyServer) def main(args: Array[String]): Unit = applicationProcess.main(args) def trap(signal: Int): Unit = applicationProcess.trap(signal) }
...with MyServer being declared as:
object MyServer extends Application { override def main(args: Array[String], applicationContext: ApplicationContext): Unit = { .. } }
The essential idea is that a regular JVM entry point (MyServerEntryPoints), establishes a com.cisco.streambed.ApplicationProcess of a class named MyServer. The trap method is used by Landlord for whenever an operating systemm signal is sent to the process. My extending com.cisco.streambed.Application, a com.cisco.streambed.ApplicationContext is provided by Streambed, containing almost all of what an application will require in order to startup (an actor system, metrics, logging...). The resources provided within the context are also automatically released on exit.
Storage provides mechanisms to persist and retrieve arbitrary data.
Storage provides mechanisms to persist and retrieve arbitrary data. This complements com.cisco.streambed.durablequeue.DurableQueue and can be used a snapshotting mechanism, a common pattern in event sourcing and CQRS systems.
By default, an implementation using the local filesystem is provided. E.g. see "com.cisco.streambed.storage.fs.FileSystemRawStorage" elsewhere.