If you need to create a custom mediator that performs some logic on a message, you can either create a new mediator project, or import an existing mediator project using WSO2 EI tooling.
You need to have WSO2 EI tooling installed to create a new message store or to import an existing message store via EI tooling. For instructions on installing WSO2 EI tooling, see Installing Enterprise Integrator Tooling.
Once a mediator project is finalised, you can export it as a deployable artifact by right-clicking on the project and selecting Export Project as Deployable Archive. This creates a JAR file that you can deploy to the EI. Alternatively, you can group the mediator project as a Composite Application Project, create a Composite Application Archive (CAR), and deploy it to the EI.
A URL classloader is used to load classes in the mediator (class mediators are not deployed as OSGi bundles). Therefore, it is only possible to refer to the class mediator from artifacts packed in the same CAR file in which the class mediator is packed. Accessing the class mediator from an artifact packed in another CAR file is not possible. However, it is possible to refer to the class mediator from a sequence packed in the same CAR file and call that sequence from any other artifact packed in other CAR files.
Creating a mediator project
Follow these steps to create a new mediator. Alternatively, you can import a mediator project.
- In Eclipse, click the Developer Studio menu and then click Open Dashboard. This opens the Developer Studio Dashboard.
- Click Mediator Project on the Developer Studio Dashboard.
- Leave the first option selected and click Next. The New Mediator Creation Wizard appears.
- Do the following:
- Type a unique name for the project.
- Specify the package and class names you are creating.
- Optionally specify the location where you want to save the project (or leave the default location specified).
- Optionally specify the working set, if any, that you want to include in this project.
- A Maven POM file will be generated automatically for this project. If you want to include parent POM information in the file from another project in this workspace, click Next, click the Specify Parent from Workspace check box, and then select the parent project.
- Click Finish.
The mediator project is created in the workspace location you specified with a new mediator class that extends org.apache.synapse.mediators.AbstractMediator
.
Importing a mediator project
Follow these steps to import an existing mediator project into an EI Config project. Alternatively, you can create a new mediator project.
- In Eclipse, click the Developer Studio menu and then click Open Dashboard. This opens the Developer Studio Dashboard.
- Click Mediator Project on the Developer Studio Dashboard.
- Select Import From Workspace and click Next.
- Specify the mediator project in this workspace that you want to import. Only projects with source files that extend
org.apache.synapse.mediators.AbstractMediator
are listed. Optionally, you can change the location where the mediator project will be created and add it to working sets. - Click Finish.
The mediator project you selected is created in the location you specified, and the project now has the added project nature org.wso2.developerstudio.eclipse.artifact.mediator.project.nature.