Ibis Servicedispatcher Parent

Dispatches requests between (compatible) applications running on the same application server

License

License

GroupId

GroupId

org.ibissource
ArtifactId

ArtifactId

service-dispatcher-parent
Last Version

Last Version

1.5
Release Date

Release Date

Type

Type

pom
Description

Description

Ibis Servicedispatcher Parent
Dispatches requests between (compatible) applications running on the same application server
Project URL

Project URL

https://ibissource.org/
Project Organization

Project Organization

Ibissource.org
Source Code Management

Source Code Management

https://github.com/ibissource/ibis-servicedispatcher

Download service-dispatcher-parent

How to add to project

<!-- https://jarcasting.com/artifacts/org.ibissource/service-dispatcher-parent/ -->
<dependency>
    <groupId>org.ibissource</groupId>
    <artifactId>service-dispatcher-parent</artifactId>
    <version>1.5</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/org.ibissource/service-dispatcher-parent/
implementation 'org.ibissource:service-dispatcher-parent:1.5'
// https://jarcasting.com/artifacts/org.ibissource/service-dispatcher-parent/
implementation ("org.ibissource:service-dispatcher-parent:1.5")
'org.ibissource:service-dispatcher-parent:pom:1.5'
<dependency org="org.ibissource" name="service-dispatcher-parent" rev="1.5">
  <artifact name="service-dispatcher-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='org.ibissource', module='service-dispatcher-parent', version='1.5')
)
libraryDependencies += "org.ibissource" % "service-dispatcher-parent" % "1.5"
[org.ibissource/service-dispatcher-parent "1.5"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • servicedispatcher

License Maven Central Build Status

ibis-servicedispatcher

The IbisServiceDispatcher can be used to communicate between applications that reside in the same JVM. It was developed to provide a means of communication in native Java between the Everest Knowledge Framework (EKF) and the adapters build using the Ibis Framework.

usage

To use the IbisServiceDispatcher, an instance of the DispatcherManager must be obtained by calling the static method getDispatcherManager() on DispatcherManagerFactory. Then:
  • to call a service, call processRequest(String clientName, String correlationId, String message, HashMap requestContext) on the DispatcherManager
  • to provide a service, register a RequestProcessor using register(RequestProcessor)

ibis-configuration

Use the following code in an Ibis-configuration to provide a service using the service dispatcher:
(Any parameter passed in the requestContext is made available to the Adapter as a PipeLineSession-variable)
  <receiver name="JavaListener" returnIfStopped="Service not available">
    <listener 
      className="nl.nn.adapterframework.receivers.JavaListener" 
      serviceName="ibis4xxx-myadapter" 
    />
  </receiver>

To call a service provided by the service dispatcher from within a Ibis-configuration, use the JavaSender, like this:
(Any parameter defined with the sender is passed on to the processing service in the requestContext)
  <pipe name="PipeCallingService">
    <sender 
      className="nl.nn.adapterframework.pipes.IbisJavaSender" 
      serviceName="nameOfService" >
      <param name="param1" value="valueOfThisParameter"/>
    <sender>
    <forward name="success" path="READY"/>
  </pipe>

operation

The IbisServiceDispatcher provides a map of RequestProcessors. This map is created by applications that register themselves with the servicedispatcher. Other applications can use the servicedispatcher to execute a request by a named RequestProcessor. The servicedispatcher locates the RequestProcessor in its map, set the appropriate classloader context, and executes the request as if it was done within the application the ReqestProcessor resides. To be able to do so, the servicedispatcher must be deployed on the classpath of the server, that is shared by all applications.

installation

To install the IbisServiceDispatcher, the library must be placed on the classpath of the server. Due to the way of operation, it is not sufficient to have it only in a lib directory of a .war file or similar.
org.ibissource

Ibis source

Versions

Version
1.5