class ArtemisMessagingServer : ArtemisMessagingComponentThis class configures and manages an Apache Artemis message queue broker.
Nodes communication is managed using an Artemis specific protocol, but it supports other protocols like AMQP/1.0 as well for interop.
The current implementation is skeletal and lacks features like security or firewall tunnelling (that is, you must be able to receive TCP connections in order to receive messages). It is good enough for local communication within a fully connected network, trusted network or on localhost.
| <init> |
ArtemisMessagingServer(config: NodeConfiguration, myHostPort: <ERROR CLASS>, networkMapCache: NetworkMapCache, userService: RPCUserService)This class configures and manages an Apache Artemis message queue broker. |
| config |
val config: NodeConfigurationThe config object is used to pass in the passwords for the certificate KeyStore and TrustStore |
| myHostPort |
val myHostPort: <ERROR CLASS> |
| networkMapCache |
val networkMapCache: NetworkMapCache |
| networkMapConnectionFuture |
val networkMapConnectionFuture: <ERROR CLASS><Unit>?A ListenableFuture which completes when the server successfully connects to the network map node. If a non-recoverable error is encountered then the Future will complete with an exception. |
| userService |
val userService: RPCUserService |
| start |
fun start(): UnitThe server will make sure the bridge exists on network map changes, see method updateBridgesOnNetworkChange We assume network map will be updated accordingly when the client node register with the network map server. |
| stop |
fun stop(): Unit |
| checkStorePasswords |
fun checkStorePasswords(): UnitReturns nothing if the keystore was opened OK or throws if not. Useful to check the password, as unfortunately Artemis tends to bury the exception when the password is wrong. |
| expectedOnDefaultFileSystem |
fun Path.expectedOnDefaultFileSystem(): Unit |
| tcpTransport |
fun tcpTransport(direction: ConnectionDirection, host: String, port: Int): <ERROR CLASS> |