Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session

Anybody made experiences with JMS Queue Receiver (QPAC)?

Avatar

Former Community Member
Hello



I'm astonishing if anybody had ever used the standard QPAC "Queue Receiver" or "Queue Sender". I can't find any tutorials/help/field reports on the internet or within this forum.



Conecrete, I have the following problem: I'm trying to connect to a IBM MQ over JMS (I think the connection is ok). In the workflow designer QPAC "Queue Receiver" I can define the field "Connection factory". In my case this sould be "com.ibm.mq.jms.MQQueueConnectionFactory".



So far so good. But how does LiveCycle find/load this class? I put an appropriate JAR-File to "..\LiveCycle\jboss\server\all\lib". But I have no idea if this is the correct location. Even I don't know if this is the accurate way....



Can anybody help me??... Thank you!

Regards, Nico
5 Replies

Avatar

Former Community Member
I made some progress on this issue... !



... I am now able to connect to a "IBM MQ Series Host" over JMS using the QueueReceiver-QPAC. All MQ configuration is stored in a LDAP directory entry which I access by JNDI.




Short description:

Specify the LDAP provider URL (i.e. "ldap://EBIET.asintra.net:30112/ou=QCF,ou=JMS,ou=EBA") and the initial_context_factory ("com.sun.jndi.ldap.LdapCtxFactory") in the QPAC configuration. Afterwards you only have to specifiy the queue connection factory (QCF) in the QPAC Action (right click in worklfow). I just put in the dialog field "connection factory" the value "cn=NAME_OF_QCF" because the "QCF Java class" is also defined in the LDAP.

Our QCF is "com.ibm.mq.jms.MQQueueConnectionFactory". For this reason I had to copy the corresponding IBM JAR files to "..\LiveCycle\jboss\server\all\lib". Note: I did not used the dialog field "queue nane" until now because the QCF resp. the QueueManager knows the queue.

Avatar

Former Community Member
Unfortunately I have now an other exception during instantiation of the QueueReceiver QPAC. Because I do not have the QPAC's source code I'm not able to analyze the problem.<br /><br />I get this execption:<br /><font face="Courier" color="#00008B" size="2"><br />11:37:01,475 ERROR [QueueReceiverService] QPAC.QueueReceiver.1: [PID:null] Unexpected exception.<br />java.lang.ClassCastException<br /> at com.avoka.workflow.qpac.queuereceiver.Receiver.<init> Receiver.java:158)<br /> at com.avoka.workflow.qpac.queuereceiver.QueueReceiverService.runTask QueueReceiverService.java:132)<br /> {...}<br /></font><br /><br />Would like to know what the java class is trying to do at line 158 in Receiver.java...<br /><br />Anyone at AVOKA who can help me? Would be great!<br />Thank you...<br />Nico

Avatar

Former Community Member
Hi Nico,

I found a document describing how to add extra jars to the process designer.



Overview

In order to obtain full use of the design time features of a QPAC, it is often necessary to add extra jar files to the classpath of the Workflow Designer.



For example:

The SQL Plus QPACs connect directly to the target database in order to populate the databases meta-data.

The Email Receiver QPAC needs to connect via JavaMail so that it can display the contents of any emails if finds on the Test tab.



Unfortunately, the standard Workflow Designer executable does not provide any way to add jar files to the classpath.



This document describes one technique for adding additional jar files to the Workflow Designers classpath.



Note: At runtime, the additional jar files are generally made available by:

Having them in the lib directory of the QPACs jar file

Explicitly adding them to the lib directory of the application server.

Instructions

Obtain a copy of Janel (the Java Native Executable). You can download Janel from http://sourceforge.net/projects/janel.

There are two Janel executables: Rename JanelWindows.exe to Designer.exe and rename JanelConsole.exe to DesignerC.exe. Please both these files in the Workflow 7.0 Designer directory.

Create two text files named Designer.lap and DesignerC.lap. Both these files should contain the following:



janel.main.class=com.adobe.workflow.tools.processdesigner.PAD

-Djava.class.path=.\qlc\

janel.classpath.jars.dir=.\lib

janel.classpath.jars.dir=.\JBoss-lib

janel.classpath.jars.dir=.\extras



janel.jvm.path=..\_jvm\bin\client\jvm.dll

Create a directory called extras in the Workflow Designer directory. Place any additional jar files that are required into this directory. (There is no need to directly specify the names of the jar files any jar files found in the extras directory will automatically be added to the classpath.)

In order to launch the designer, simply double-click on Designer.exe.



DesignerC.exe is identical to Designer.exe, except it also opens a console window. The console window is often useful when debugging QPAC problems, because it gives the entire stack track of any exceptions that occur, rather than just the name of the exception.



Regards,

Yuri

Avatar

Former Community Member
Thanx Yuri for your input... actually my problem is now this ClassCastException in the Queue Receiver QPAC (see posting #2)... but I think that the only men who can help works at Avoka... :-)



regards,

Nico

Avatar

Former Community Member
Just to complete this thread:



Finally I was able to setup, configure and read JMS Messages by the Queue Receiver QPAC from a MQ-Host. I made the JNDI Lookup with a LDAP provider (LdapCtxFactory) as also with a File provider (RefFSContextFactory).



If anyone is interested in more details about the solution contact me by email: (nico dot meier at bsgroup dot ch).



Maybe I'll also prepare a tech report (withe paper) about this issue.



Regards

Nico