ID: Q173340
The information in this article applies to:
Using Microsoft Message Queue Server (MSMQ) ActiveX components from Java is similar to using any other ActiveX objects from the Java environment. Following are the basic "getting started" steps with Java and MSMQ ActiveX components.
"Using Java and COM" topic in Visual J++ Books Online describes how to use COM with Java. Visual J++ 1.1 includes several Java/COM samples.
Read the information in MSMQ SDK, especially the following topics:
Here are the basic "getting started" steps with Java and MSMQ ActiveX components using Microsoft Visual J++ 1.1, which is included with Microsoft Visual Studio 97. This project shows how to create an MSMQ queue using Java code:
1. Create a basic Visual J++ project using Java Applet Wizard. Select "As
an applet only" in Step 1, "HTML file" in Step 2, "multi-threaded" and
"no animation" in Step 3, and then click Finish.
This creates two source files in the project. One is a .java file for
the java class and the other is an .html file for VBScript (given
below):
<html>
<head>
<title>MQJava</title>
</head>
<body>
<hr>
<applet
code=MQJava.class
name=MQJava
width=320
height=240 >
</applet>
<hr>
<a href="MQJava.java">The source.</a>
</body>
</html>
2. Run "Java Type Library Wizard" on "Microsoft Message Queue Object
Library":
The MSMQ installation program creates the registry entries for MSMQ
ActiveX components and interfaces so that the typelib gets registered.
Before building the project, make sure you run the Java Type Library
Wizard from the Tools menu in DevStudio IDE. Select "Microsoft Message
Queue Object Library" from the list, which creates the .class files in
your Winnt\Java\Trustlib\Mqoa folder. The folder also contains a
Summary.txt file that contains information about the Java classes
derived from the information in the typelib. Make sure you use the
method names given in this file for the interface you are using.
3. Include the following lines near the top of your .java file created by
the wizard:
import mqoa.* ;
import com.ms.com.Variant;
4. Add the following method to create an MSMQ queue:
public void CreateQueue()
{
Variant isTransactional;
Variant isWorldReadable;
IMSMQQueueInfo qinfo = (IMSMQQueueInfo)new MSMQQueueInfo();
qinfo.putPathName(".\\qJava");
isTransactional = new Variant();
isTransactional.putBoolean(false);
isWorldReadable = new Variant();
isWorldReadable.putBoolean(false);
qinfo.Create(isWorldReadable, isTransactional);
}
Call the method CreateQueue() from Init() method and run MSMQ Explorer to
verify that the queue has been created. If the queue already exists (if you
run it twice), you will get a Java exception dialog box on the Web page.
For more information, see the following topics in MSMQ SDK:
Keywords : MQProg kbfaq
Version : WinNT:1.0
Platform : winnt
Issue type : kbhowto
Last Reviewed: January 30, 1998