This document provides instructions for creating a Java component that uses a singleton object in Mule. It describes dragging a Java component, selecting the singleton object factory, and creating properties for the component. Developers are instructed to create a class with getters and setters for the properties, and to create a global bean to reference the class. The document then explains how to drag an Invoke component and configure it to call methods on the singleton object, including filling fields for the component name, referenced object, method to invoke, and method arguments.
2. Java Component with Singleton:
The singleton object factory does not create a new instance for each
request; instead, the instance is shared.
Example:
Drag java component and double click on the java component to
bring up properties.
Click "+" symbol next to the 'Object' field
Select “core:singleton-object” and click "next".
3. Click on "..." button and select class
"com.techm.javacustomcomponents.UsingSingletonObject"
4. Click on "Advanced" tab and create following three properties using
"+" as shown below and click on Finish.
• name
• dept
• location
Same properties with same names need to be created along with
setters and getters in "UsingSingletonObject" class. So that, specified
properties values in java component are assigned into java class
properties. Below is the code to create map object with these three
properties.
5.
6.
7.
8. A bean needs to be created in global elements to use Invoke component.
Create a bean which refers to a custom made java class in global
elements. In "Global Elements" tab click on "Create" button.
Click on "..." symbol next to "Class" field to select a java custom made
class. Provide some meaningful names in "ID" and "Name" fields. Click
on OK button.
9. Drag a invoke component and double click on the component to bring
up the properties. Fill the required fields as shown below.
10.
11. Name Any meaningful name
Object Ref "ID" value of bean which is created earlier
Method Method name which needs to be invoked
Method Arguments Values of method arguments
In the same way two more invoke components are created for
two methods (substract and multiply)