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.10 Server
Startup Parameters
Chapter 2:
Offline Configuration Through Profile Manager
2.1 How to
Launch Profile Manager
2.2 How to
Open a Profile for Editing
2.3 How to
Edit Configuration for a Component Instance
2.4 How to
Edit Attributes for Component Instance
2.5 How to
Add/Remove a Component Instance from the Profile
2.6 How to
Resolve Component Dependencies
2.7 How to
Change Implementation Type of a Component Instance
2.8 How to
Locate Component Dependency
2.9 How to
Find Usages for a Component Instance
2.10 How to
Save Changes Made to a Profile
2.11 How to
Validate a Profile
2.12 How to
Save the Profile in a Different Location
2.14 How to
Add/Remove New Attributes to a Component Instance
2.15 How to
Rename a Component Instance
2.16 How to
Edit Default Configurations for a Component
2.17 How to
Add/Remove a Domain from the Profile
2.19 How to
Edit the Profile Metadata
2.20 How to
Edit the Deployment File (deploy.xml) for a Profile
2.21 How to
Export/Import a Profile
2.23 How to
Switch Between Domain and Component Views
2.24 How to
Create a New Profile
2.25 How to
Mark a Socket Acceptor as Default
2.26 How to
Set Auto Update Property of All Default Connection Factories
2.27 How to Set Auto Update Property for a Connection Factory
2.28 How to Start with JMS Application in Java
2.29 How to Start with JMS Applications in C
2.30 How to Start with JMS Applications in Cpp
2.31 How to Start with JMS Applications in Csharp
Chapter 3: Text Based Profile Configuration
3.2 Using the Configs.cfg File
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 256 MB 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 300MB 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 Fiorano MQ and associated tools is 1.5. For the convenience of the user, a default version of Sun’s JRE (version 1.5.0) is packaged with the Windows Installer. The user is, however, free to use any other JVM to run Fiorano products.
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. It also contains the license file.
o docs Contains documentation in .pdf and the javadocs 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 Fiorano MQ Server and user can perform
varios operations such as adding, deleting destination, connection Factories.
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 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 2008 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:
gunzip < file.tar.gz | tar xvf -
gunzip < file.tgz | tar xvf –
If you have
GNU tar, you can
use the
TzT
option directly:
gtar xvzf file.tar.gz
gtar xvzf file.tgz
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.x 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 and paste it in the licenses folder located in the root installation 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.
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.
FioranoMQ 8.0 onwards 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.
|
Component |
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. |
|
profilesDir |
Same as fmq.profiles.dir |
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.
TOP1. Right-click the Profiles node in the Profile Explorer and select the Create New Profile option.

2. In the Create New Deployment Profile dialog box, specify the Profile name, description, etc and Click the OK button.

3. You can now continue to add domains and components to the profile as described in the previous sections.
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.
Profiles can now be configured through a text based properties file. These profiles can be found under the %FIORANO_HOME%\fmq\profiles directory. Profiles shipped with FioranoMQ 2008 SP2 are:
FioranoMQ
FioranoMQ_Dispatcher
FioranoMQ_HA_rpl/HAPrimary
FioranoMQ_HA_rpl/HASecondary
FioranoMQ_HA_shared/HAPrimary
FioranoMQ_HA_shared/HASecondary
StandAloneBridge
StandAloneRepeater
FioranoMQ_XA
Prior to FioranoMQ 2008 SP2 release, the profiles were configured through a configs.xml file. The profiles now can 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% directory.
Advantages of text based profile configuration are:
Before, the user need to follow certain parameters for XML based profile configuration, now the user can edit the profiles without worrying about the parameters. For example, normal 'vi' editing use to except each attribute in a new line.
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% directory so that when the server starts it should first use the configuration set present in the xml file and then overwrites with the values set in the Configs.cfg file.
Note: In the future release, we will stop shipping the Configs.xml file.
In the Configs.cfg file, the statement which starts with a # hash character is considered to be as comment. Also, before each block starts, a short description is given about the Mbean, so that the user can take reference of it and use the code to modify server settings.
This section explains how to use a Configs cfg file to set some common properties before the server boots up.
Following are the examples of the procedure to set the properties in Config.cgs file which are considered as important.
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.cgs 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
Copyright© 1999-2008, Fiorano Software Pvt Ltd. All rights reserved.