Admin Objects
Question 1: How do I add/remove user defined Topics, Queues and Connection Factories to an existing JMS Server?
FioranoMQ provides a comprehensive set of Administrative APIs, which allow an authorized administrator (a user with admin privileges) to create/destroy/enumerate resources, such as topics, users and connection factories. For more information, refer to Chapter 27 Administering the FioranoMQ Server Using APIs in the FioranoMQ Handbook.
Question 2: Is it possible for all users of the system to create Topics and Queues?
FioranoMQ allows only the Administrator to create topics and queues. By setting the following option to true, the administrator can grant rights to all users of the system to create topics and queues whenever needed.
Question 3: Are there any restrictions to the usage of special characters while naming a Destination, Connection Factory, SubscribtionID, ClientID? If so, provide a list of such characters.
Yes, FioranoMQ restricts the usage of most of the special characters in "named objects" (destination, connection factory) and in client IDs as well as subscriber Ids. The only characters that are supported are:
- [A-Z]
- [a-z]
- [0-9]
- "\\"
- "/"
- " "
- "?"
- """
- "<"
- ">"
- "|"
- "["
- "]"
- "+"
- ";"
- ":"
Users
Question 4: How do I control the users logging into my system?
When the API, Topic Connection Factory tcf = tcf.create topic connection (String userName, String passwd) is used by the JMS Client Application, the JMS Server authenticates the user login using the password assigned by the administrator. If the passwords do not match, the connection request is rejected. In addition, the FioranoMQ Server allows "anonymous" connections. This implies that it is possible to connect to the server using the tcf.createTopicConnection(); without supplying any user name or password. For more information refer to the FioranoMQ Security section.
Other APIs
Question 5: What other Administrative facilities does the FioranoMQ Server provide?
FioranoMQ provides a comprehensive Administrative API, which allows an authorized Administrator (a user with admin privileges) to query the current state of the system. The following types of queries are supported:
- Determining the set of users, those are currently connected to the server.
- Determining all client IDs, on which durable subscriptions have been created on the server.
- For each client ID, determining the subscriber IDs, for each created subscription.
In addition to that, MQ Server can be managed through JMX. All sub-systems of FioranoMQ are exposed through JMX and can be managed online. For more information, refer to Configuring FioranoMQ through JMX Tools section.
Question 6: Can messages be purged from Queues?
FioranoMQ provides the following administration API in MQAdminService that allows the administrator of FioranoMQ to purge all messages from the Queues:
For more information refer to Chapter 27 Administering the FioranoMQ Server using APIs in the FioranoMQ Handbook.
Question 7: How do I determine the Queue size?
You can determine the size of a queue using the Admin API of MQAdminService
Question 8: Is there any API available to determine the number of messages pending for any given durable subscriber on a topic?
The Admin API in MQAdminService to determine the number of deliverable messages for the given durable subscriber is:
Question 9: How do I perform tracing and logging in FioranoMQ?
FioranoMQ allows administrators to dynamically set tracing levels for various server components. These trace levels, define the "verbosity" of logs generated by the MQServer. Logs can be directed to a console or to a file. MQAdministrator can control the number of log files generated and the number of lines of log in each log file. This can be done by using the Fiorano Studio, a GUI to administer FioranoMQ, to set log levels accordingly for different components. For more information, refer to Administering the FioranoMQ Server Using APIs section.
Admin Studio
Question 10: How do I launch the Fiorano Admin Studio?
Fiorano is bundled with a GUI utility to administer the FioranoMQ server. The GUI provides a number of facilities in terms of configuring managing Users, groups, topics, queues, connection factories, durable subscriber, dispatcher, repeater, snooper, bridges, logging and tracing. As in the case of FioranoMQ server, the AdminGUI can be launched in two possible ways on Windows platforms:
On Windows and related platforms
Starting Fiorano Admin Studio from the Windows Start Menu
FioranoMQ Admin Studio can be launched from the Start group of the Windows machine. FioranoMQ can be started by clicking Start>Programs>Fiorano>FioranoMQ >Fiorano Studio.
Prior to running the above script, start FioranoMQ server by running the script fmq.bat located in fmq\bin directory of FioranoMQ installation (%FMQ_DIR%\fmq\bin).
FioranoMQ installation for Windows comes bundled with JavaSoft 1.4 JRE and the environment variable %JAVA_HOME% is set for this JRE. You can edit the batch files in the scripts directory of the installation to point to the appropriate Java runtime environment. Both %FMQ_DIR% and %JAVA_HOME% are set in the batch file, fmqvars.bat. This batch file is generated during installation to point to the appropriate place and is called automatically from all the startup scripts, including Studio.bat. Please read the comments in the Studio.bat script and ensure that all the environment variables are set correctly.
On Unix and related platforms
The Unix version of the installer does not come bundled with a JRE. It is assumed that the machine on which FioranoMQ is installed has a version 1.3 and higher of JRE installed. It is recommended to use JRE 1.4 (Hotspot enabled).
fiorano_vars.sh
Prior to executing any FioranoMQ script, you need to set, environment options FMQ_DIR and JAVA_HOME in the fiorano_vars.sh script. FMQ_DIR should point to the installation directory of FioranoMQ and JAVA_HOME should point to a version of jre/jdk 1.4 and above. This script (fiorano_vars.sh) gets invoked from all FioranoMQ batch scripts.
Studio.sh
Fiorano Admin Studio can be started using the Studio.sh script file, located in the $FMQ_DIR/Studio/bin directory of the FioranoMQ installation directory. The Studio.sh script uses the environment variables ($FMQ_DIR, $JAVA_HOME) that have been set in fiorano_vars.sh to launch an instance of the Fiorano Admin Studio. The scripts run on the Bourne shell. If required, you must port them to other shells.
For more information refer to Chapter 27 Administering the FioranoMQ Server Using API's in the FioranoMQ Handbook.
Question 11: How do I launch the Admin Tool with server running on a protocol other than TCP?
The FioranoMQ server can run on six different protocols, namely TCP, HTTP, SUN_SSL and HTTPS_SUN. By default, the FioranoMQ AdminTool connects to the FioranoMQ server over TCP. If the FioranoMQ server is running on a protocol different than TCP, then you can change the protocol on which Fiorano Admin Studio needs to be run by changing the Transport Protocol property of the FioranoMQ server connection. For more information refer to Chapter 4 Connection Management in the FioranoMQ Handbook.
JNDI Store
Question 12: Does FioranoMQ integrate with JNDI/LDAP servers like Netscape Directory Server?
FioranoMQ 7.0 onwards provides for integration with JNDI compliant directory servers like Netscape Directory Server and Open LDAP. For more information refer to the Application Server Integration section.
Inter- Network Connectivity
Question 13: I want to run FioranoMQ on a machine with two network interfaces. One of the interface (say with IP Address 192.168..) is visible to internal clients and can be used by them to connect to the server, while the other interface (with IP Address 10.48..) is visible to external clients and can be used by them to connect to the server. Is it possible to achieve this in FioranoMQ? If yes, what are the expected configuration changes that should be made?
It is possible to run FioranoMQ server on machine with multiple network interfaces where each (or some) interface is visible to different network. Here are the two possible FioranoMQ configurations, either of which can be used to run FioranoMQ in above mentioned scenario.
Solution 1: Create Separate Connection Factories
You should create separate Connection factories for internal and external clients. The external clients should use the connection factory which has the connect url http:// 10.48.. and internal clients use the connection factory with the connect url http://192.168.*.* .
You can create the connection factories by adding the following tags in the ad-min.xml.
Solution 2: Create a Connection Factory with a backup URL
You can create a connection factory which has a connect url and a backup url. The connect url may be equal to the IP address valid for external clients (http://10.48.*.*) and the backup url may be equal to the IP address valid for internal clients (http:// 192.168..) or vice versa.
You can specify the connect, as well as backup url in the connection factory as described below:
Question 14: I am using two RMI JMX adapters to monitor two separate components of FioranoMQ(server/repeater/bridge etc.).How ever I am getting exception at the startup, that RMI connector cannot start up, because port 1858 is busy/already in use. What should I do now?
It is possible to run multiple instances of FioranoMQ server, their different components that is, standalone repeater, Standalone Bridge and so on. It is also possible to monitor them all, by using multiple RMI JMX connector. How ever, FioranoMQ RMI connector by default runs on port 1858, so, to start multiple instances of RMI adaptors, user must, assign them a unique and free port. To assign a port, to an RMI connector, following steps need to be followed.
- Launch Fiorano Studio using %Fiorano_Home%\Studio\bin\Studio.bat or by selecting Start > Programs > Fiorano > FioranoMQ8.x > Fiorano Studio.
- Select Tools > Configure FioranoMQ from the menu bar, select the %Fiorano_Home%\fmq\profiles%selectedProfile% directory, from the resulting Select Profile Directory dialog box and click the Open button.
- Now, navigate to %selectedProfile% > Connector >RmiConnector in the Server Explorer.
- Change the property Naming Port from default 1858 to the desired unique and free port number.
- After making the above change, right-click the FioranoMQ domain in the Server Explorer and select the Save option from the resulting shortcut menu. Your change is saved in the configs.xml file.
- Restarting the application with changed configuration runs the RMI connector on the specified port.
Question 15: I am using FioranoMQ message snooper to snoop messages on topics/ queues. How can I see, all snooped messages of registered destinations, through Fiorano Studio.
Please follow these steps to see messages in Fiorano Message Snooper.
- Launch Fiorano Studio using %Fiorano_Home%\Studio\bin\Studio.bat or by selecting Start > Programs > Fiorano > FioranoMQ8.x > Fiorano Studio.
- Connect to FioranoMQ using Fiorano Studio. Navigate to FMQ Server Connection > Snooper. Right click on snooper and choose add destinations to snooper in order to register a new destination for message snooping.
- After having added all destinations in Message Snooper, select queue node appearing under snooper node. Right click on the queue node and choose browse messages. This shows your messages from all queues that are registered on the snooper. Similarly to view messages of topics registered on snooper, right-click topic node appearing under snooper node and choose browse message again.