Chapter 1:
Installation and Startup
1.1 System
and Software Requirements
1.1.1
Temporary Storage Space Requirements
1.2 FioranoMQ
Directory Structure
1.2.1 Default
Installation Directory
1.3 Installing
FioranoMQ Server
1.6 Launching
Studio with Default Setup
1.7 Setting
up System Environment
1.8 Running
and Compiling the Samples
1.9
Running FioranoMQ Server as Service
1.10 Server
Startup Parameters
Chapter 2: Text Based Profile Configuration
2.2 Using the Configs.cfg File
2.3 HA Centric Properties in Config.cfg File
Chapter 3:
Offline Configuration Through Profile Manager
3.1 How to
Launch Profile Manager
3.2 How to
Open a Profile for Editing
3.3 How to
Edit Configuration for a Component Instance
3.4 How to
Edit Attributes for Component Instance
3.5 How to
Add/Remove a Component Instance from the Profile
3.6 How to
Resolve Component Dependencies
3.7 How to
Change Implementation Type of a Component Instance
3.8 How to
Locate Component Dependency
3.9 How to
Find Usages for a Component Instance
3.10 How to
Save Changes Made to a Profile
3.11 How to
Validate a Profile
3.12 How to
Save the Profile in a Different Location
3.14 How to
Add/Remove New Attributes to a Component Instance
3.15 How to
Rename a Component Instance
3.16 How to
Edit Default Configurations for a Component
3.17 How to
Add/Remove a Domain from the Profile
3.19 How to
Edit the Profile Metadata
3.20 How to
Edit the Deployment File (deploy.xml) for a Profile
3.21 How to
Export/Import a Profile
3.23 How to
Switch Between Domain and Component Views
3.24 How to
Mark a Socket Acceptor as Default
3.25 How to
Set Auto Update Property of All Default Connection Factories
3.26 How to Set Auto Update Property for a Connection Factory
3.27 How to Start with JMS Application in Java
3.28 How to Start with JMS Applications in C
3.29 How to Start with JMS Applications in Cpp
3.30 How to Start with JMS Applications in Csharp
This document serves as a startup document to assist users of FioranoMQ. This document introduces users to the components of FioranoMQ and briefly explains the working of these components. A more comprehensive set of documentation on FioranoMQ can be found in the fmq\docs directory of the FioranoMQ installation directory.
The documentation can additionally be viewed and downloaded from HTUwww.fiorano.comUTH.
Note: To un-tar the UNIX installation file, it is advisable to use GNU tar as other tars may create problems.
The system requirement for the FioranoMQ Server is summarized in the following table.
|
Component |
Requirement |
|
Platform |
FioranoMQ Server and clients can run on any platform that supports JRE 1.5 or above. Supported platforms include Microsoft Windows, Sun Solaris, Red Hat Linux, IBM AIX, and HP-UX. |
|
Hard disk drive |
300 MB of free disk space is required for full installation of FioranoMQ . |
|
Memory |
Minimum of 2 GB of RAM is recommended for optimal performance of FioranoMQ for a mid-range installation. |
|
CPU |
Minimum of 200 MHz CPU is required for basic installation. |
For a Wizard Based installation, FioranoMQ uses a temporary directory in which it extracts all the files necessary to install the FioranoMQ Server on the target system. The extracted files are deleted from the temporary directory at the end of the installation process.
A minimum free disk space of around 300 MB in the drive that has the configured Temp directory is required for installing FioranoMQ Server.
FioranoMQ Server, clients, and tools require a Java Virtual Machine (JVM) for their operations. Minimal JDK version that is used to run FioranoMQ and associated tools is 1.5. For the user convenience, a default version of Sun’s JRE (version 1.5.0_16) is packaged with the Windows installer.
On UNIX platforms, the number of File Descriptors required by the server process must be increased beyond the default value. The recommended value is 10,000 (The number of file handles) . The launch scripts for UNIX automatically do this if they are given the required authorization.
By default, FioranoMQ is installed at C:\Program Files\Fiorano\FioranoMQxxx\ directory on Windows. Since there is no default installation directory on UNIX, the user can install FioranoMQ in any directory. For example, /usr/FioranoMQ/.
The installation directory contains the following subdirectories:
o bin - Contains scripts to run the container.
o docs - Contains documentation in pdf and the java docs in html format. The online docs in javadoc format are substantially similar to those released by Sun Microsystems, Inc.
o lib - Contains all the FioranoMQ libraries files. These should not be modified by the user.
o profiles - Contains the configuration files to run the FioranoMQ Server, bridge, repeater, HA and XA enabled server.
o samples - Contains all the java client samples which illustrate the various functionalities and features of FioranoMQ.
o
terminal
-
Contains a tool which allows logging into the FioranoMQ Server and user can perform
various operations such as adding, deleting destination, connection Factories.
o utilities - Contains a route utility tool to create/remove multiple routes between destinations based on the configuration file specified while running the route utility.
o wmt - Contains scripts to run jetty server which connects to port 1780 by default and used by Fiorano Web Management Tool to configure and monitor FioranoMQ.
o lib - Contains all the FioranoMQ libraries files. These should not be modified by the user.
o tools - Contains Fiorano license manager tool.
o utils - Contains XML conversion utilities.
FioranoMQ for Windows and UNIX platforms is available as an installable exe\bin file. FioranoMQ Installation wizard installs FioranoMQ and adds it to the startup directory (by default). In addition, the FioranoMQ wizard based installer comes bundled with a 1.5.0_16 version of JRE from JavaSoft. The installation instructions for FioranoMQ are as follows:
1. Launch the installer for your platform.
2. Click the Next button. The license agreement panel will appear. Read and accept the license and click Next, the User and Company Information dialog box appears.
3. Enter user and company information and click the Next button. The Choose Destination Location dialog box appears.
4. Click the Change button to select the installation directory. Click the Next button the Setup Type dialog box appears.
5. Select the type of installation from the given option Typical, Compact or Custom. Click the Next button and the Select Program Folder dialog box appears. Choose the root location for the installation; default is \Program Files\Fiorano on windows.
6. Click the Next button and the Ready to Install the Program dialog box appears. Here you can click the Back button to review or change the installation settings.
7. Click the Install button and Setup Status dialog box appears with the status bar showing the files installing in your system.
8. When all the files are installed in your system the Installation Finish dialog box appears. Click the Finish button to complete the installation.
Note: By default, the check box Yes, I want View FioranoMQ 9 Docs is selected. You can also select the Yes, I want to Launch Fiorano Studio check box to launch the Fiorano Studio.
The installation process is similar for Windows and UNIX installations.
For various flavors of UNIX installations, Fiorano provides the .tar file which can be directly extracted to any location using GNU tar tools.
Select your installation directory, say /usr/home and place the .tar or .tar.gz file
On UNIX, extract them with:
gtar -xvzf <filename>.tar.gz
The extracted files are created at the following location:
<Your installation dir>/Fiorano/FioranoMQ
This location relates to $FIORANO_HOME
After extraction, the user is required to modify the environment variables as per instructions in fiorano_vars.sh script. This script is available in the installation directory.
Note: This installer does not include bundled JRE. It is recommended that the user installs JRE 1.5.0_16 on the system before installing Fiorano Server and tools.
The license file has the extension as .lic and is e-mailed to the user email.
The user can copy the file in the licenses folder located in the $FIORANO_HOME directory.
Or
The user can use the License Tool (GUI) to import the license file. The License Tool is also shipped with FioranoMQ .
Installation instructions are also included in the e-mail which is sent on submission of a license request using
Note: The license file(s) sent to the end user is based on various parameters (evaluation or production etc).The FioranoMQ Server can be launched over the default profile using the fmq script. This script can be found in the fmq\bin folder of the installation directory. Alternatively, the same can be done on Windows using Start Menu >> Programs >> Fiorano >> FioranoMQ >> FioranoMQ Server...
Fiorano Studio can be launched from command line using the following steps:
1. Open Console
2.
Go to %FIORANO_HOME%\Studio\bin
(On UNIX, goto $FIORANO_HOME/Studio/bin)
3. Launch studio using Studio.exe or Studio.sh, depending upon the platform used.
4. Alternatively, Fiorano Studio can be launched from Start Menu >> Programs >> Fiorano >> FioranoMQ >> FioranoMQ Studio >> Fiorano Studio
Studio remembers various configurable settings. In order to reset Studio and bring it back to original default settings, use the script reset provided in the studio\bin folder of the installation directory.
The FioranoMQ Server, tools and samples require various properties to be set. These properties are FIORANO_HOME, FMQ_DIR, and JAVA_HOME, and are set by fiorano_vars.bat or fiorano_vars.sh. Both of the aforementioned are located at the base FioranoMQ installation directory.
The user may also set additional parameters using this script. This script is invoked when launching the server, Studio or running/compiling samples.
FioranoMQ samples can be run using the FioranoMQ console which can be launched from Start Menu >> Programs >> Fiorano >> FioranoMQ >> FioranoMQ Console. Samples can be found at %FMQ_DIR%\samples directory.
The script runClient available in the fmq\bin folder of the installation directory can be used to execute a sample, while the script compile-client (available in the same directory) can be used to compile it.
Note: By default compiled class files are not shipped along with the installer, the user needs to compile them by following the instructions and prerequisites mentioned in the readme files of each sample.
The FioranoMQ server can also be run as NT services. Pre-built configurations for all the shipped profiles can be found in %FMQ_DIR%\bin\service. Please peruse the readme.txt file stored in this folder for detailed instructions regarding running them as NT services.
Note: FioranoMQ Server can also be run as a service in an Unix environment.
FioranoMQ supports the concept for Container and deployable profiles. A number of arguments can be passed to container while deploying a profile. These arguments are summarized below.
fmq.bat –profilesDir <Profiles home directory>
-profile
<Profile name>
-dbPath <DB
path for profile>
-configPath
<Conf path for profile>
-saveConfigs
<Persist server configurations on shutdown>
For UNIX: Use fmq.sh instead of fmq.bat in the above command.
|
Parameter |
Requirement |
|
-profilesDir |
Home directory where profiles will be present. Default = %FMQ_DIR%\profiles |
|
-profile |
Profile to be deployed in Fiorano Container. Default = FioranoMQ |
|
-dbPath |
Database path for the configured Profile. Default = %FMQ_DIR%\run |
|
-configPath |
Conf directory path for the configured Profile. Default=%ProfileHomeDir%\conf |
|
-saveConfigs |
Inquires whether or not to save server configurations on shutdown. Default = false |
|
-help |
Prints help options. |
Profiles can now also be configured through a text based properties file. These profiles can be found under the %FIORANO_HOME%\fmq\profiles directory. Profiles shipped with FioranoMQ are:
FioranoMQ
FioranoMQ_Dispatcher
FioranoMQ_HA_rpl/HAPrimary
FioranoMQ_HA_rpl/HASecondary
FioranoMQ_HA_shared/HAPrimary
FioranoMQ_HA_shared/HASecondary
FioranoMQ_XA
FioranoMQ_ClusterManager
StandAloneBridge
StandAloneRepeater
Prior to FioranoMQ 2008 SP2 release, the profiles were configured through a configs.xml file. The profiles now can also be configured to start with certain attributes set by editing the Configs.cfg properties file. By default, the properties files are stored in the %FIORANO_HOME%\fmq\profiles\%PROFILE%\conf directory.
Advantages of text based profile configuration are:
Earlier, the user had to edit the parameters inside tags for XML based profile configuration, now the user can edit the profiles without worrying about tags. For example, even a plain vanilla text editor like 'vi' can be used to edit the attributes that have been listed on a per line basis.
The structure of a Configs cfg file is:
ObjectName = arbitraryObjectName1
ClassName = className1
Attribute1 = attribute1Value
Attribute2 = attribute2Value
ObjectName = arbitraryObjectName1
Currently, the Configs.xml is present in %FIORANO_HOME%\fmq\profiles\%PROFILE%\conf directory so that when the server starts it should first use the configuration settings in the xml file and then overwrites with the values set in the Configs.cfg file.
Note: In the future release, we may stop shipping the Configs.xml file.
In the Configs.cfg file, the statement which starts with a # (hash) character is considered to be a comment. Also, before each block starts, a short description is given about the MBean, so that the user can refer it once before modifying server settings.
This section explains how to use a Configs.cfg file to set some common properties before the server boots up.
What follows is a list of important properties which are liable to be changed by most users and also the instructions on modifying them.
Property#1 Port (Server Port)
Property#2 Protocol (Server Protocol)
Property#3 AllowDurableConnections (General Server property)
Property#4 EnableAutoRevalidation (General Server property)
Property#5 IsForceFullyKillDSubscriber (PUBSUB)
Property#6 DupsOkBatchSize (PUBSUB)
Property#7 PersistentInMemoryBufferSize (PTP)
Property#8 EnableMonitoringThread (To enable monitoring of FioranoMQ resources)
Property#9 EnableRdbms (For the usage of RDBMS storage)
Consider the below examples to change the properties in Configs.cfg file.
To change Properties of 1 and 2, go to the block where ObjectName is:
Fiorano.socketAcceptors.port-1:ServiceType=ConnectionManager,Name=ConnectionManager,type=config
Block to be changed:
ObjectName=Fiorano.socketAcceptors.port-1:ServiceType=ConnectionManager,Name=ConnectionManager,type=config
ClassName=fiorano.jms.ex.cm.config.ExConnectionManagerConfig
#Protocol=TCP
#Port=1856
ObjectName=Fiorano.socketAcceptors.port-1:ServiceType=ConnectionManager,Name=ConnectionManager,type=config
To change the properties of property 3 and property 4 which are in FMQConfigLoader, go to the block where ObjectName is:
Fiorano.etc:ServiceType=FMQConfigLoader,Name=FMQConfigLoader,type=config
Block to be changed:
ObjectName=Fiorano.etc:ServiceType=FMQConfigLoader,Name=FMQConfigLoader,type=config
ClassName=fiorano.jms.common.MqConfig
#AllowDurableConnections=no
#EnableAutoRevalidation=no
..
..
ObjectName=Fiorano.etc:ServiceType=FMQConfigLoader,Name=FMQConfigLoader,type=config
Additionally, set the attributes whichever are under the Mbean name and then start the server. As mentioned earlier, server boots up using the over-written properties which are set in Configs.cfg file.
Similarly, if the user needs to change the Jetty Server Configuration, go to the block and set the necessary attributes where ObjectName is:
Fiorano.etc:ServiceType=JettyServer,Name=JettyServer,type=config
Block to be changed:
ObjectName=Fiorano.etc:ServiceType=JettyServer,Name=JettyServer,type=config
ClassName=fiorano.ex.jetty.config.ExJettyServiceConfig
..
..
#EnableStart=true
..
#PortNumber=1780
ObjectName=Fiorano.etc:ServiceType=JettyServer,Name=JettyServer,type=config
To change Properties 5 and 6 which are Topic Subsystem level properties, go to following block in Configs.cfg file and change the necessary attributes.
Block to be changed:
ObjectName=Fiorano.mq.pubsub:ServiceType=PubSubManager,Name=TopicSubSystem,type=config
ClassName=fiorano.jms.ex.pubsub.config.ExPubSubServiceManagerConfig
..
..
#IsForceFullyKillDSubscriber=no
..
#DupsOkBatchSize=20
..
..
ObjectName=Fiorano.mq.pubsub:ServiceType=PubSubManager,Name=TopicSubSystem,type=config
Similarly for Property 7; PersistentInMemoryBufferSize, go to PTP Subsystem level Configuration, the block named as:
ObjectName=Fiorano.mq.ptp:ServiceType=PtPManager,Name=QueuingSubSystem,type=config.
Block to be changed:
ObjectName=Fiorano.mq.ptp:ServiceType=PtPManager,Name=QueuingSubSystem,type=config
ClassName=fiorano.jms.ex.ptp.config.ExPTPManagerConfig
..
..
#PersistentInMemoryBufferSize=524288
..
..
ObjectName=Fiorano.mq.ptp:ServiceType=PtPManager,Name=QueuingSubSystem,type=config
To enable/disable Property 8 monitoring thread of FioranoMQ resources used by the server, go to block and set the attribute.
Block to be changed:
ObjectName=Fiorano.etc:ServiceType=ResourceManager,Name=ResourceManager,type=config
ClassName=fiorano.jms.ex.mm.config.ExResourceManagerConfig
#EnableMonitoringThread=no
ObjectName=Fiorano.etc:ServiceType=ResourceManager,Name=ResourceManager,type=config
Similarly to enable/disable Property 9 RDBMS storage, this code block needs to be changed.
Block to be changed:
ObjectName=Fiorano.etc:ServiceType=RdbmsDBManager,Name=RdbmsDBManager,type=config
ClassName=fiorano.jms.rdbms.def.config.DBManagerConfig
#EnableRdbms=no
ObjectName=Fiorano.etc:ServiceType=RdbmsDBManager,Name=RdbmsDBManager,type=config
Offline configuration of any FioranoMQ profile using Admin Studio will not change the Configs.cfg properties file. The Configs.cfg property file can be modified only through normal file editing. Example, vi editor.
Text based profile configuration essentially serves the purpose for those who do not use Admin Studio for offline profile configuration. Consider these scenarios which can arise while using text based profile configuration.
Start FioranoMQ Server and try editing some Configurable property through Web Manager Console which by default runs on any web browser and in Admin Studio. Save the configurations and shut down the server. When the same profile is modified offline using Admin Studio, and if the server is started using the profile, then it will consider only the properties which are modified online and not the offline modified properties.
In the properties file, any line which starts with the character '#' is considered as a Comment and neglected while loading the properties. So, any number of blank lines and lines starting with '#' between any two properties or any two Mbeans do not corrupt the property name/value in any case as they are all neglected.
The property names or MBean object names should not be changed, it should match the default values as mentioned in the .cfg file. The property that is going to be set before starting the Server is dependent on the object name and the property name. Any mismatch in the property name will set the property to its default value.
In the .cfg file, the user needs to make sure that the object names startingTag (<) and endingTag (>) should match the particular MBean for which a property needs to be set.
In case, profile is being edited in the offline mode through Fiorano Studio, the changes are reflected only in the Configs.xml file and not in the Configs.cfg file, as mentioned earlier. So, in order to start the FioranoMQ Server using the latest changes, please follow either of the below mentioned ways before starting the FioranoMQ Server using this profile.
Rename Configs.cfg file present in $PROFILE/conf directory to some other file name say _Configs.cfg and start FioranoMQ Server using this profile so that changes in the Configs.xml file are only included.
Incorporate all the changes done for the parameters through Fiorano Studio, by going through the Configs.xml file, into the Configs.cfg file in the respective Mbean blocks. When started FioranoMQ Server now, the latest changes in the configuration will now be included.
Consider these two cases, one of them can take care of backward compatibility.
Suppose both Configs.xml and Configs.cfg is present in the conf folder of the profile, then first server is loaded using properties set in Configs.xml and then overwrites the properties set in the .cfg file. In this case, if the Configs.cfg file is not present in the folder then it will load properties only from Configs.xml file (backward compatible).
And for other profiles, where only Configs.cfg is present, the server boots up normally using the properties file. So, any changes of the .cfg file will get reflected when the server is started.
Once the configurations are saved in online mode using either Studio or Web Console, the changes are reflected both in the Configs.xml and Configs.cfg files (only if the files were already present in the conf directory).
This section explains about the commonly used properties in HA Replicated and Shared servers that have been grouped together to necessitate easier changing of these properties. These properties can only be found in the beginning of the Configs.cfg file of their respective HA servers. These properties which have been listed below are the ones that are frequently changed by users of FioranoMQ HA servers.
FMQGroup.BackupServerIp - Specifies the backup server IP. This IP is configured in backup-url for default connection factories.
FMQGroup.BackupServerPort - Specifies the backup server port. This port is configured in backup-url for default connection factories.
FMQGroup.BackupHAPort - Specifies the port of the Backup Peer server on which peer is listening for status requests sent by this server.
FMQGroup.BackupHAIPAddress - Specifies IP address of backup peer server in HA mode. This parameter is mandatory to run HA.
FMQGroup.Port - Specifies the port on which HA Manager would listen for connections from the HA peer server.
FMQGroup.PingInterval - Specifies time interval (in milliseconds) after which the remote server is pinged.
FMQGroup.LockFile - Specifies full path of the file which will be used for determining the HA states. This file should be present in the third machine and always be available to the HA servers with all permissions. The LockFile machine must be same as the machine whose IP Address is given as GatewayServerIPAddress.
FMQGroup.SocketCreationTimeout - In HA, specifies the time in milliseconds within which socket has to created with the peer server failing which the socket creation attempt will fail.
Note: The profiles can be configured only in an offline mode. The FioranoMQ server should not be running while editing a profile.
1. Launch Fiorano Studio (using Start->Programs->Fiorano->FioranoMQ -> Fiorano Studio) or by running %FIORANO_HOME%\Studio\bin\studio.exe, on Windows Systems
2. On UNIX Systems run $FIORANO_HOME/Studio/bin/studio.sh
3. Select the Profile Manager tab in the Explorer pane.

4.
You can also launch the Profile Manager using
Window->Profile
Manager menu-item in the Fiorano Studio.

1. Right-click the Profiles node in the Profile Manager Explorer, and select the Open Profile option from the pop-up menu displayed.

2. In the Select Profile Directory dialog, select the Profile directory you want to edit and click the Open button.

3. A profile appears and you can see a node corresponding to the profile in the Profile Explorer tree as shown in the figure below. You can expand this node in order to view the component instances that are part of the profile. Their properties can be viewed in the Properties pane on the right.

4.
You can also open a profile by selecting the
option
Tools->Configure Profile in the Fiorano Studio Menu.

In order to configure the port at which the FioranoMQ Server would run:
1. Right-click the Profiles node in the Profile Manager Explorer, and select the Open Profile option from the pop-up menu displayed.
2. In the Select Profile Directory dialog, select the Profile directory you want to edit and click the Open button.
3. Navigate to the node corresponding to the ConnectionManager component instance in the Profile Manager Explorer.

4. Edit the Port property of the ConnectionManager, which is part of ComponentInstance Configuration using the Properties pane on the right.

5. Save the changes by right-clicking on the Connection Manager node and selecting the Save option.

In order to edit the LoggerName attribute for PublishEventManager, which is part of the FioranoMQ Profile, follow the instructions given below:
1. Right-click the Profiles node in the Profile Manager Explorer, and select the Open Profile option from the pop-up menu displayed.
2. In the Select Profile Directory dialog, select the Profile directory you want to edit and click the Open button.
3. Navigate to the node corresponding to the PublishEventManager component instance in the Profile Manager Explorer.

4. Edit the LoggerName property for the PublishEventManager, which is part of ComponentInstance Attributes, using the Properties pane on the right.

5. Save the changes by right-clicking on the profile root node (FioranoMQ), and selecting the Save option.

In order to enable Dispatcher in your FioranoMQ Server, you must add the dispatcher component to the profile as follows:
1. Open the FioranoMQ profile using the Profile Manager, as described in Point 2 above.
2. Navigate to the domain node to which you wish to add the Dispatcher Component. Right-click the selected domain (say “etc”) and select the Add Components option.
3. In the Add Components to Profile dialog that pops up, navigate to the Dispatcher component, select it and Click the OK button.

4. You can see the node corresponding to the Dispatcher component added to the Profile Manager Explorer.
Note 1: The red icon in front of the Dispatcher node indicates that the component has some unresolved dependencies. To know how to resolve the component dependencies, please read on.
Note 2: Dispatcher requires an instance of JobManager that no other
component in the profile should be allowed to use (exclusive dependency). So on
adding dispatcher, a JobManager domain is added to the profile. Within this, a
JobManager instance that is exclusively used by the Dispatcher instance is
added.
5. To remove the Dispatcher instance added to the profile, right-click the Dispatcher node in the Profile Manager Explorer and select the Delete option.

Note: On deleting the Dispatcher, the exclusive instance of JobManager which was added is also removed.
In order to resolve the dependencies for the Dispatcher component:
1. Expand the Dispatcher node corresponding to the Dispatcher instance added to the profile and navigate to the dependency node that is unresolved (indicated by the red icon). In this case the TimerService is the dependency.
2. Select the Instance property for the TimerService dependency in the Properties pane. From the drop-down menu, select the available instances of TimerService in the profile to be used by the Dispatcher instance.

Note: Once the dependency is resolved the red icon disappears, indicating that the Dispatcher has been configured properly.
In case no instance of the dependency existed in the profile, you can add a new instance of the component as described above and then resolve the dependency. You may also add a new instance of the dependency as follows:
1. Right-click the dependency node and select the Add New Instance option. The Select New Component Instance Domain dialog box appears.

2. You may use this to specify the domain to which you want to add the new instance of the TimerService. In this case we select domain etc and click the OK button.

3. You can view the new instance of TimerService added to the Profile.
4. You can now resolve the TimerService dependency for Dispatcher by selecting the Instance property for the TimerService dependency in the Properties pane. From the drop-down menu, select the available instances of TimerService in the profile to be used by the Dispatcher instance.

Some components provide multiple implementations, such as the NamingManager component. To change the implementation type of the component part of the profile, follow the instructions given below:
1. In the Profile Explorer, navigate to the node corresponding to the component instance for which you wish to change the implementation type: for instance the NativeFileNamingManager instance of NamingManager in the FioranoMQ profile. In the Properties pane you see a property named Implementation that is set to FILE.

2. Click the value for the Implementation property. All available implementations of NamingManager are displayed in a drop-down list. Select the implementation you want to use in your profile: for instance RDBMS.

3. On changing the Implementation, the component dependencies and also the ObjectName property for the component are updated accordingly.

4. Resolve all dependencies and save the profile.
1. Right-click a node corresponding to a component dependency and select the Locate in Tree option. For example, let us assume you perform this action on the node corresponding to TimerService dependency for Dispatcher instance.

2. This action will select the component instance corresponding to the dependency in the Profile Manager Explorer. For instance, in this case the selection would change to the TimerService instance that is specified as dependency for the Dispatcher instance.

1. Right-click the node corresponding to the component instance for which to find usages and select the Find Usages option.

2. On performing this action, a dialog box pops up displaying all component instances that use this particular instance in the profile. The instance usages of TimerService appear as shown in the figure below.

· Right-click on the profile root node (FioranoMQ), and selecting the Save option.

Note: On saving a profile, you may see error/warning messages for two reasons: if a component has an unresolved dependency, Or if the value is not set for a non-null configuration parameter. You can either continue to save the profile ignoring these error/warning messages or fix the error and try saving again.
1. Right-click the profile root node (FioranoMQ), and select the Validate option.

2. You can see the validation errors/warnings, if any, in the Validate Profile Results tab of the Studio Output window.

1. Right-click the profile root node (FioranoMQ), and select the Save As option.

2. The Select Profile Directory dialog box appears, you need to specify the location in which to save the profile. Click the Save button.

3. In case a profile already exists in the specified location, a confirmation Confirm Profile Replace dialog box appears. If the user selects the Yes option, the existing profile is replaced, and if No is selected, no further action is performed.

4. After the profile is saved to the specified location, a dialog box (Load Profile) appears wherein the user is asked if he wishes to load the new profile created. In case the user selects Yes, the new profile is opened, and if No is selected no further action is performed.

1. Right-click the profile root node (FioranoMQ), and select the Close option. This will remove the sub-tree corresponding to the profile, from the Profile Explorer.

1. In the Profile Explorer, navigate to the node corresponding to the component instance to which you want to add an attribute. Right-click the node and select the Add Attribute option.

2. In the Add Attribute dialog box that appears, specify the Name and Value for the attribute to be added, and Click the OK button.
3. You can see the new attribute added to the ComponentInstance Configuration parameters in the Properties window on the right.

4. To remove an added attribute, right-Click the component instance node and select the Remove Attributes option.

5. In the Remove Attributes dialog box, select the attribute(s) to be removed and Click the OK button. The removed attribute(s) are removed from the ComponentInstance Configuration properties in the Properties window.

6. After adding/removing attributes to any component instance, save the profile as described earlier.
1. In the Profile Explorer, navigate to the node corresponding to the component instance to be renamed. Right-click the node and select the Rename option.

2. In the Rename dialog box, specify the new name for the component instance and click the OK button.

3. You will see the node corresponding to the component instance, and also the ObjectName property for the instance, updated with the new name.

4. You can also rename a component instance by selecting the corresponding node and pressing the F2 key. The node name becomes editable and you can specify the new name for the instance.

5. After renaming the component instance, save the profile as described earlier.
1. In the Profile explorer, navigate to the node corresponding to the component for which you wish to edit the default configurations (for instance FMQConfigLoader component in FioranoMQ profile).
2. Right-click the component node and select Edit Default Configuration option.

3. In the Edit Default Configuration dialog box that appears, edit the properties and click the OK button.

4. Save the profile as described earlier.
TOP1. Right-click the root profile node or the domain node within which you wish to add the new domain and select the Add Domain option.

2. In the Add Domain dialog box, specify the name of the domain to be added.

3. You can see a node corresponding to the new domain in the Profile Explorer.

1. In the Profile Explorer, navigate to the node corresponding to the domain to be renamed. Right-click the node and select the Rename option.

2. In the Rename dialog box that appears, specify the new name for the domain and CLICK the OK button.

3. You will see the node corresponding to the domain updated with the new name.

4. You can also rename a domain by selecting the corresponding node and pressing the F2 key. The node name becomes editable and you can specify the new name for the instance.

5. After renaming the domain, save the profile as described earlier.
TOP1. In the Profile Explorer, select the profile root node. You can view the profile metadata in the Properties pane on the right.

2. You can edit the Profile Metadata (including ProfileName, Description, and Author) in the Properties pane.
3. After editing the profile metadata, save the profile as described earlier.
1. In the Profile Explorer, select the profile root node. You can view the contents of the deployment file (Deploy.xml) in the Deployment Lists property in the Properties pane on the right.

Click the … button besides the Deployment Lists property value. In the editor window that appears you may perform the following operations:
a.
Add Deployment List
- Click the Add button in the Deployment Lists editor window.

- In the Add dialog box that appears, select the deployment lists to be added to Deploy.xml and Click the OK button.

- You can see the list added in the Deployment Lists editor window.

b.
Remove Deployment List
- Select the Deployment list file to be removed from Deploy.xml and Click the Remove button.

c.
Move Up Deployment List
- You can change the ordering of lists in Deploy.xml. To shift a list upwards, select a list in the Deployment Lists editor window and Click the Move Up button.

d.
Move Down Deployment List
- Select a list in the Deployment Lists editor window and Click the Move Down button.

1. Right-click the profile root node and select the Export Profile option.

2. In the Select Profile Directory dialog box that appears, select the directory in which to create the profile export file and Click the Save button.

3. To Import a profile, right-Click the Profiles node in the Profile Explorer and select the Import Profile option.

4. In the dialog box that appears, select the profile export file and Click the Open button.

5. Another dialog box appears asking the user to select the target Profiles directory in which to import the selected profile. Specify the directory and Click the Open button.
6. A confirmation dialog box appears asking if the user wishes to load the imported profile. On selecting the Yes option, the imported profile is loaded, and on selecting No, no further action is performed.

Right-click the Profile root node to be deleted and select the Delete option.

The default view displayed is the Domain view, in which the tree is formed based on ObjectNames of components that are part of the profile.
1. Right-click the Profile root node and select the Component View option to view the profile tree created based on component category and service type.

2. The component view is displayed as shown in the image below.

3. To switch back to Domain view, right-Click the profile root node and select the Domain View option.
TOPNote: By default all the Connection Managers property is set to Yes. You can change the property according to your requirement.
To mark a Socket Acceptor as a default, perform the following steps:
1. Select FioranoMQ -> Fiorano -> socketAcceptors -> port2 -> ConnectionManager .
2. In the Properties of ConnectionManager2 pane, select the Default property as yes or no from the drop-down menu.
Note: If more then one socket acceptors are present then user should mark only one as a default. If none is marked as default, the factories will be created though randomly selected SocketAcceptor.

To set AutoUpdate property for all default Connection Factories, perform the following steps.
1. Open the Fiorano Studio, in the Server Explorer pane, right-click FMQ and click Login from the pop-up menu as shown in the following figure.

Figure: Fiorano Studio FMQ Login
2.
Navigate
to FMQ -> Connection Factories,
right-Click the connection factory which you want to change, in this case we
are using PrimaryQCF, and select
Edit.
3.
The
Configure PrimaryQCF dialog box
appears. In the Configure PrimaryQCF
dialog box, change the Auto Update
property as per your requirement and click the
OK button.
Note: By default all the Connection
Factories have these values set to yes.

Figure: The Configure PrimaryQCF dialog box
To set Auto Update property for a new Connection Factory, perform the following steps.
1. Open the Fiorano Studio, in the Server Explorer pane right-click FMQ and click Login from the pop-up menu as shown in the following figure.

Figure: Fiorano Studio FMQ Login
2.
Right-click
the Connection Factories on the
screen page and select Add Connection
Factory.
3.
The
New Connection Factories Properties
dialog box appears. Change the Auto
Update property, the default set to no.
4.
Click
the OK button and the Auto
Update property for a connection factory is set.

Figure: The New Connection Factories Properties dialog box
1. To start with a JMS application, firstly, you need to know how to write a JMS application. FioranoMQ has samples under <fmq_installation_dir>/fmq/samples; you can go through the samples and write your own samples. For more information, please download Java Message Service.
Specification - version 1.1 PDF format from the following location
http://java.sun.com/products/jms/docs.html
What are the JAR files required to compile and run the newly created JMS Application?
1. FioranoMQ provides three libraries, you need to put them in the classpath to run the JMS applications and they are
● <fmq_installation_dir>/fmq/lib/client/all/fmq-client.jar
● <fmq_installation_dir>/framework/lib/all/fiorano-framework.jar
● <fmq_installation_dir>/extlib/jms/jms.jar
1. To write C applications which are compatible with FioranoMQ, please refer to the samples under <fmq_installation_dir>/fmq/clients/c/native/samples. FioranoMQ provides whole lot of samples for C Applications for both Publish-Subscriber and Point-to-Point protocols.
What are the libraries required to compile and run the newly created C JMS Application?
1. FioranoMQ provides libraries, header files for C applications which should be used to compile and run the applications.
To compile C Application:
i. Header files:
● <fmq_installation_dir>/fmq/clients/c/native/include
● <fmq_installation_dir>/fmq/clients/pthread/include
ii. Compiler Arguments:
● For Windows:
- Arguments required are /w /W0 /nologo /MD/Gd /TC /D "_WIN32_"
For more information, please refer to build_samples.bat under <fmq_installation_dir>/fmq/clients/c/native/scripts directory.
● For Linux/Solaris:
- Arguments required are -w -D_SOLARIS_
For more information, please refer to build_samples.sh under <fmq_installation_dir>/fmq/clients/c/native/scripts directory.
To link the C Application:
i. Libraries required for Windows:
● <fmq_installation_dir>/fmq/clients/c/native/lib/fmq-crtl.lib
● <fmq_installation_dir>/fmq/clients/pthread/lib/pthreadVC.lib
● From Windows: wsock32.lib msvcrt.lib msvcrtd.lib
ii. Libraries required for Linux/Solaries:
● <fmq_installation_dir>/fmq/clients/c/native/lib/fmq-crtl.a
● From Linux/Solaris libraries: -lpthread-lsocket
1. To write Cpp applications which are compatible with FioranoMQ, please refer to the samples under <fmq_installation_dir>/fmq/clients/cpp/native/samples. FioranoMQ provides whole lot of samples for Cpp Applications for both Publish-Subscriber and Point-To-Point protocols.
What are the libraries required in order to compile and run the newly created Cpp JMS Application?
1. FioranoMQ provides libraries, header files for Cpp applications which should be used to compile and run the applications.
To compile Cpp Application:
i. Header files:
● <fmq_installation_dir>/fmq/clients/c/native/include
● <fmq_installation_dir>/fmq/clients/cpp/native/include
● <fmq_installation_dir>/fmq/clients/pthread/include
ii. Compiler Arguments:
● For Windows:
- Arguments required are /w /W0 /nologo /MD/Gd /TP /D _WIN32_ /GX
For more information, please refer to build_samples.bat under <fmq_installation_dir>/fmq/clients/cpp/native/scripts directory.
● For Linux/Solaris:
- Arguments required are -w -D_SOLARIS_
For more information, please refer to build_samples.sh under <fmq_installation_dir>/fmq/clients/cpp/native/scripts directory.
To link the Cpp Application:
i. Libraries required for Windows:
● <fmq_installation_dir>/fmq/clients/c/native/lib/fmq-crtl.lib
● <fmq_installation_dir>/fmq/clients/cpp/native/lib/fmq-native-cpprtl.lib
● <fmq_installation_dir>/fmq/clients/pthread/lib/pthreadVC.lib
● From Windows: wsock32.lib msvcrt.libmsvcrtd.lib
ii. Libraries required for Linux/Solaries:
● <fmq_installation_dir>/fmq/clients/c/native/lib/libfmq-crtl.a
● <fmq_installation_dir>/fmq/clients/cpp/native/lib/libfmq-native-cpprtl.a
● From Linux/Solaris libraries: -lpthread-lsocket
1. To write Csharp applications which are compatible with FioranoMQ, please refer to the samples under <fmq_installation_dir>/fmq/clients/nativecsharp/samples. FioranoMQ provides lot of samples for Csharp Applications for both Publish-Subscriber and Point-To-Point protocols.
What are the DLL's required in order to compile and run the new created Csharp JMS Application?
1. FioranoMQ provides Dynamic Link Library (DLL) file for Csharp applications which should be used to compile and run the applications.
To compile and run Csharp Applications:
i. DLL file:
● <fmq_installation_dir>/fmq/clients/nativecsharp/assembly/fmq-csharp-native.dll
For more information, please refer to build_samples.bat under <fmq_installation_dir>/fmq/clients/nativecsharp/scripts directory.
Copyright© 2008-2011, Fiorano Software Pte Ltd. and affiliates.
All rights reserved.
This software is the confidential and proprietary information of Fiorano Software ("Confidential Information"). You shall not disclose such Confidential Information and shall use it only in accordance with the terms of the license agreement enclosed with this product or entered into with Fiorano.