You are on page 1of 30

1

A White Paper on AQ – Weblogic Interaction

A WHITE PAPER ON AQ – WEBLOGIC INTERACTION WITH A USE-CASE
Authors: Creation Date: Last Updated: Version: P. V. J. Pavan Kumar 01-Dec-2008 04-Dec-2008 1.0

Created by P.V.J. Pavan Kumar

1

2

A White Paper on AQ – Weblogic Interaction

AQ JMS - WL JMS - Bridge Configuration

This white paper discusses the interaction between the queues lying in Oracle Database (AQ) and the queues lying in the Weblogic. To start with, to the novice, I will explain the terms first and then the background between this interaction. Next, we will see the steps to configure the bridge. Queues in Oracle: i. Oracle has two different types of queues: a. Queues in Database b. Queues in OC4J (in the middleware. Oracle has a middleware called Internet Application Server, Oracle iAS in short. And as the product matured, the integration components like BPEL, ESB etc were added to iAS and combinedly, it is called as SOA Suite. OC4J is the JEE container which holds all these components including the queues).

Queues in the Database: When the queueing concept has evolved, Oracle has created the queueing framework in the database and called this as Advanced Queueing, AQ in short. The queueing framework contains all the logic to be dealt with the queues like producing and consuming into/from the queues, creating/dropping of the queues etc. All this framework (APIs) are written in PL/SQL only. When any application has to use the queues, they need to use these PLSQL APIs and manage their data. It was relatively tough for the applications to use Oracle AQs without PLSQL code. When such a requirement has come, the developers had to code their procedures/functions to use the queues and call these custom procedures and functions in the JDBC calls to manage the data in their queues within their applications. Queues in the Middleware: Meanwhile, when the technology is grown, JEE has evolved and Sun Microsystems has defined their standards for JNDI and JMS. All the Middleware vendors like Weblogic, Websphere etc were implementing these APIs. Oracle as a middleware vendor has to implement these APIs. Oracle has a middleware container called Oracle Containers for Java (OC4J, in short) which had implemented these JNDI and JMS APIs. These set of APIs again resulted in a new set of queues called Oracle OC4J JMS queues. These queues are in-memory queues and persistent mechanism is different from that of the AQs. Created by P.V.J. Pavan Kumar

2

3

A White Paper on AQ – Weblogic Interaction

Background for JMS Providers: Now, as the Java EE community has grown, the demand for using the AQs has come from the Java community. So, Oracle has written Java Wrappers for the AQs in the database. After these implementations of JMS and JNDI APIs, Oracle now has two different JMS Providers: i. ii. OJMS (AQ/JMS) OC4J/JMS.

Which JMS Provider to be used: Now, comes the question, as to which JMS provider we need use. OJMS is the JEE 1.4 compliant JMS provider. It has been integrated into iAS/SOA Suite/OC4J (Middleware) using a resource provider interface, while at the same time leveraging Advanced Queuing in the Oracle Database for persistence and recoverability. If you are planning on using JMS in your development then Oracle strongly recommends using OJMS as the JMS provider. OC4J/JMS will also be J2EE 1.3 compliant. Developers have the choice of which JMS provider best fits into the architecture: a. One based on Advanced Queuing (OJMS) with all the inherent qualities that come with being part of the Oracle Database or b. A lightweight, in-memory based queuing system (OC4J/JMS). The other choice of choosing the provider depends on the interactions of the Oracle JMS providers with other JMS providers such as Weblogic.

Created by P.V.J. Pavan Kumar

3

The Application-M will then. One of the requirements. it uses Weblogic queues as communication medium. which we had. It is a direct interaction. The default persistent mechanisms of the queues are file-based in Weblogic. The client reads this response message from this queue (Queue MB) and takes appropriate action. Approach we have taken: There are quite a few approaches we have taken to make the above interaction successful. Our requirement is as follows: Requirements: a. is another application (say. There are different considerations that need to be taken like guaranteed delivery for this interaction to be successful. My client. Webservice interaction: Since the target application is exposing their APIs as webservices. deployed in Weblogic.4 A White Paper on AQ – Weblogic Interaction Queues in Weblogic: All the queues are implementations of the JEE specifications for JMS and JNDI. c. Interaction between Oracle JMS (both OJMS and OC4J JMS) and Weblogic JMS In a typical A2A or B2B applications. One of my applications (say. which needs to create an order. here. And we have only 1 type of JMS providers in Weblogic unlike in Oracle. In this case. Application M). there arises a requirement for an interaction between different systems and architectures. b.J. via JMS or HTTP (depends on the business requirement).V. we don’t use the Weblogic queues. Pavan Kumar 4 . we can use HTTP protocol to invoke this service and pass the input. was an interaction between Oracle JMS and Weblogic JMS. Disadvantage: Created by P. Any client. For this. exposes their APIs as Webservices and can create/manage orders using Webservices. will need to enqueue an appropriate message into the Weblogic queue (say Queue MA). 1. It needs to use BPEL and ESB framework to enqueue/dequeue the messages to/from the Weblogic queues. dequeue the message from QueueMA and process it and puts it back in another queue (Queue MB) with the response/result of the action. I will try to explain the difficulties we faced in making them work. Application S).

the message will be lost and will not be placed back in the queue. resulting in loss of the orders. You can also check the link – Steps to connect to Weblogic 9. doesn’t guarantee the delivery of the messages.e. we need to wrap our SOAP envelope in the JMS envelope and pass the data to a JMS server. Next consideration: So. This is SOAP over JMS protocol i. the next consideration we need to make is to use JMS protocol instead of HTTP to make the interaction. Disadvantage: The main disadvantage with this approach is that Weblogic Container has a limitation with the trasancationability. This is a serious requirement as our Integration is mainly based on the orders and we don’t want to loose our messages. 3. This approach is considered next to enqueue/dequeue the messages into/from the Weblogic queues. Next consideration: So. Next. Oracle BPEL/ESB has an adapter (pre-defined configurable client) called JMS Adapter. Weblogic JMS Bridge moves the message to-and-from Weblogic-AQ and AQ-Weblogic (it can move the messages between any 3rd party JMS providers infact). Pavan Kumar 5 .5 A White Paper on AQ – Weblogic Interaction The main disadvantage with this is the protocol itself. if there is an error while enqueue/dequeue operations. will then enqueue the message to a JMS queue. This again hampers the guaranteed delivery approach. Created by P.. 2. Weblogic doesn’t support the transactions outside its container i. HTTP.e.. The JMS server. Using this. the next consideration we wanted to try is to use JMS Bridge approach.J.2 with JMS Adapter with BPEL/ESB. Please see the document “Steps to connect to Weblogic 92 using JMS Adapter” for the detailed steps to do this. Weblogic JMS Bridge: Note: Please the document “JMS Bridge” for understanding the JMS Bridging concept and configuration before reading the below approach (those who know about the JMS Bridge can ignore this). we can enqueue/dequeue the message into any JMS server (compatibility still holds good).V. being a stateless protocol. we need to either write a program to create the JMS envelope and invoke the enqueue on the JMS server.

So. We need to move the messages from AQ queues to Weblogic queues and back with a response. the queues are accessed via the JNDI. But. it can use the JNDI defined in the OEMS (Oracle Enterprise Messaging Service – which is nothing but implementation of Sun’s JMS specification) and enqueue the message into the AQ JMS. if I refer queue. All the queues that we are using on the Application-S side are AQ queues. Weblogic can see the OC4J JMS queues because they are implementations of JEE specifications. between the JMS servers. Using JMS API (green-line path in the above diagram). in the following text. For a more detailed explanation. we need to write a code manually. it means that I am referring to the JNDI entry of the queue. Note: Generally. there is a catch here.6 A White Paper on AQ – Weblogic Interaction The bridge acts a JMS client dequeueing the messages and enqueueing the messages as and when needed.V. Pavan Kumar 6 . Issue: The next uphill task is to make a bridge between Weblogic JMS and Oracle AQ. Created by P. please look the below picture: Figure 1 In this picture. Also. For this. the implementations of AQ JMS APIs (Java APIs) by Oracle are proprietary and so. an OC4J resource adapter needs to be created/deployed which can connect to the database and talk to AQ. Weblogic cannot see the AQ queues (JNDI entries). Application-S has two approaches to enqueue the message into AQ: a. whenever we are using the queues. Now.J.

and protocol used. So. port. Now. Weblogic makes JMS standard calls to instantiate the InitialContextFactory and view the JNDI tree to connect to the queues (AQ). Using OC4J JMS Adapter (red-line path in the above diagram).V. and the JNDI name associated with the queue. To be more technical.7 A White Paper on AQ – Weblogic Interaction b. Weblogic. Weblogic will not be able to invoke the appropriate InitialContextFactory and view the queues. Pavan Kumar 7 . the configuration requires the details of the JMS Server host. something like below: Figure 2 If we closely observe. But since Oracle APIs are proprietary. the API calls are differently implemented. BPEL/ESB uses OC4J JMS Adapter which can talk to the AQ JMS directly. connection factory name. while configuring the Weblogic JMS Bridge. the protocol used here is: opmn://ormi://[hostname:port:oc4j_container] It means that we are asking Weblogic to follow the green-line path as in Figure 1.J. But since the queues are AQ queues and the AQ JMS APIs are proprietary to Oracle. Created by P. This is the same consideration which we saw previously (2nd approach).

e. only the in-memory queues are visible and not the AQ queues although AQs have JNDI in the OC4J. From that point. including Weblogic MDBs transactionally enqueue/dequeue messages to/from AQ JMS.J. By doing this.V. so that they are Weblogic JNDI compatible and binds them to the Weblogic JNDI. It can although view the OC4J JNDI tree i. we will be able to view the AQ JMS Objects in the Weblogic JNDI tree. Please see the below picture for more clarity: Figure 3 Created by P. For this. will receive an exception from OC4J as the function/method call doesn’t exist. So. the AQ JMS will be local to Weblogic as JNDI objects. Pavan Kumar 8 . we can pretty much do whatever we would do with any standard JMS objects. Weblogic will NOT be able to view the JNDI tree of the AQ queues.8 A White Paper on AQ – Weblogic Interaction when tries to instantiate the InitialContextFactory on the OC4J. This framework wraps the AQ JMS objects. The framework allows AQ JMS ConnectionFactory and Destination objects to be bound into Weblogic JNDI (and the code actually creates these bindings at WLS startup). it allows JEE applications deployed in Weblogic Server to use the normal JMS mechanisms for using AQ JMS (since AQ JMS does not have native support for JNDI lookups of ConnectionFactory and Destination objects). After the implementation of AQJMS Framework.. Alternative: The solution to this is to implement the JMS and JNDI Standard APIs so that the appropriate call to the method returns AQ JNDI names to the Weblogic. AQ JMS implementation has to be changed which is tedious. As a result of implementing AQJMS Framework. Thanks to Robert Patrick’s framework (AQJMS).

a Bridge with transaction can be created and used which suffice our requirement. both the Weblogic JMS and AQ JMS are within the Weblogic container (via JNDI). The final configuration will be as follows: Figure 4 Created by P. Pavan Kumar 9 .9 A White Paper on AQ – Weblogic Interaction After implementing the AQJMS framework. Since.J. a JMS Bridge can be created from Weblogic queues to AQ JMS queues.V.

we need to change $AQJMSHOME/build. Other two directories are of not interest to us in this exercise.10 A White Paper on AQ – Weblogic Interaction AQJMS (Robert Patrick) framework implementation steps Implementing AQJMS Framework is pretty easy. 2.J. In this.properties file to reflect the libraries. We get AQJMS Directory with all the required files. Created by P. Pavan Kumar 10 . Next .V. 1.zip. Unzip the AQJMS.zip file. Let’s assume the directory where AQJMS is extracted is called AQJMSHOME. All the steps are mentioned in the README.txt in the AQJMS. we need only the StartupClass directory.

Goto StartupClass folder in the $AQJMSHOME. the StartupClass folder is the most important one.point to the location where we have the Jar file located.jms. oracle. d.jdbc.jar . Pavan Kumar 11 .jta.version and weblogic. e.home – enter the directory name to Welogic server eg: $ /installs/bea/weblogic92 By default.jar .jar . both the WLS 9.0 properties are enabled (weblogic. For our implementation.0 and WLS 10.aq.V. c.point to the location where we have the Jar file located.home).point to the location where we have the Jar file located. wl.driver.11 A White Paper on AQ – Weblogic Interaction Following properties have to be changed: a.common.point to the location where we have the Jar file located. oracle. b. Please comment out the unwanted version’s properties.version and wl.jms.J.client. Created by P.jar . 3. oracle. oracle. This folder contains all the classes needed to expose AQ queues into Weblogic JNDI.

properties: This file has the properties to be set for Database and AQ JMS objects to be exposed. I don’t have ORACLE_HOME.jar:/sundev/aiadev1osm7/AQJMS/jar_ files/ojdbc14.J. that should be fine.sh: export WL_HOME=/sundev/sunenv706/bea92MP1/weblogic92 export JAVA_HOME=/sundev/sunenv706/bea92MP1/jdk150_06 export PATH=$JAVA_HOME/bin:$WL_HOME/server/bin:$PATH export CLASSPATH=$WL_HOME/server/lib/weblogic.jar aqjms. there are no Linux scripts (setEnv90. Port c. Server b.cmd: Has the environment details. Following properties needs to be set: a. So. DBInstance d. I copied the files to a directory named ‘jar_files’ and use them in the classpath. CLASSPATH There is another variable ‘ORACLE_HOME’. just copy the existing script and change it accordingly to Linux commands.jar:/sundev/aiadev1osm7/AQJMS/jar_files/aqapi13. Following properties needs to be set: a. Unfortunately. QueueConnectionFactoryJNDIName Created by P. There are two files that needs to be edited : setEnv90. Pavan Kumar 12 . XAQueueConnectionFactoryJNDIName e.12 A White Paper on AQ – Weblogic Interaction 4. setEnv90.V. Following is my configuration in setEnv90. We can just get the necessary JAR files from Oracle Home and keep them in a folder and point them in the CLASSPATH and that will work fine.properties. This should point to the location where my Oracle software (database or the client) is installed. JAVA_HOME c.cmd) and all the scripts are window based. Point them accordingly to your environment.cmd (choose the approriate version’s cmd file) and aqjms. But if we don’t want to install the Oracle. PATH d. WL_HOME b.

Similarly. This action will then compile the classes in Created by P. Please set them if needed else we can comment them out. QueueJNDIName# denotes the JNDI name in Weblogic to which the AQ Queue to be binded. There has to be a JNDI name exisiting for the AQ else the queue will not be visible to Weblogic JMS. Weblogic will look into this JNDI to connect to the queue.V. QueueName1 g.properties: 5. Pavan Kumar 13 . Following is my aqjms. There are properties for Topic as well.13 A White Paper on AQ – Weblogic Interaction f. Use them as per need else can comment out. You can add as many queues as possible. QueueName# denotes the Queues in the AQ and that needs to be exposed. QueueJNDIName1 My requirement needs only the XAQueueConnectionFactoryJNDIName and QueueConnectionFactoryJNDIName. Ensure the utility ANT is there in the PATH (do $which ant) and then goto $AQJMSHOME/StartupClass and run $ant.J. there are entries for Topic and TopicJNDI as well.

weblogic.properties.oems. we gave the Oracle database details but didn’t give the username and password to connect to the queues.jar:$CLASSPATH And run the following command: $ java com.properties. we need to setup this JAR file as StartupClass to the Weblogic server so that whenever the Weblogic Server is starting up. Now.oracle.AQJMSPasswordUtility -username jmsuser -password jmsuser Where. Remember that. include the JAR into the classpath of the Weblogic and make an entry into the Startup Class of Weblogic server configuration. jmsuser is the username and password in the Oracle Database where the queues are present. For this.J. in the aqjms. The above command will encrypt the username and password and then create a file called aqjms_user. Created by P. and stores the values in this file. 6.V. 7. Then append this JAR file in the CLASSPATH as follows: $export CLASSPATH = $AQJMSHOME/StartupClass/lib/WLS90/ AQJMSStartupClass. Pavan Kumar 14 . That is because of the security reason that anyone having access to this file will know the DB details and also user credentials.14 A White Paper on AQ – Weblogic Interaction the “src” directory and build a AQJMSStartupClass.jar file in $AQJMSHOME/StartupClass/lib/WLS90 directory. it tries to connect to the Oracle Database and get the AQ queues details and bind them to the Weblogic JNDI.

sh file located in $[USER_PROJECTS]/domains/[AdminServer]/bin directory as follows: Created by P. To include the JAR file into the Classpath.sh.jms.useNativeXA=true Set these properties in the startWebLogic. 8.jms.J.jar file to the aq_classpath.useEmulatedXA=false b.V. Pavan Kumar 15 . Two additional properties are needed to be set for the Weblogic server: a.jar:/usr/lib/aqapi13. Append the JAR file to the classpath as follows: AQ_CLASSPATH=$/usr/lib/AQJMSStartupClass. Also. This file is located in the $[USER_PROJECTS]/domains/[AdminServer]/bin directory. add aqapi. -Doracle. -Doracle.jar export AQ_CLASSPATH CLASSPATH=…………:$AQ_CLASSPATH export CLASSPATH Please substitute the values accordingly.15 A White Paper on AQ – Weblogic Interaction a. edit setDomainEnv.

useEmulatedXA=false -Doracle.J.V.jms. Pavan Kumar 16 .jms.Name=${SERVER_NAME} Djava.policy=${WL_HOME}/server/lib/weblogic.security.pol icy ${PROXY_SETTINGS} -Doracle.Name=${SERVER_NAME} -Djava.jms.jms.useNativeXA=true ${SERVER_CLASS} else echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}" ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} Dweblogic.security.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}" ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} Dweblogic.16 A White Paper on AQ – Weblogic Interaction Goto # START WEBLOGIC section and modify as follows: # START WEBLOGIC echo "starting weblogic with Java version:" ${JAVA_HOME}/bin/java ${JAVA_VM} -version if [ "${WLS_REDIRECT_LOG}" = "" ] . then echo "Starting WLS with line:" echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} Dweblogic.pol icy ${PROXY_SETTINGS} -Doracle.policy=${WL_HOME}/server/lib/weblog ic.useNativeXA=true ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1 fi Created by P.useEmulatedXA=false -Doracle.Name=${SERVER_NAME} Djava.

click on Server -> click on AdminServer -> and click on View JNDI Tree. let us see the JNDI Tree to ensure there are no AQ objects available.17 A White Paper on AQ – Weblogic Interaction 9.J. a. But before that. Created by P. goto Weblogic console -> under Environment section.V. Pavan Kumar 17 . For this. The final step would be to specify the AQJMSStartupClass as a Startup class to the Weblogic server so that this JAR file is loaded and executed when the Weblogic starts.

V. Created by P.18 A White Paper on AQ – Weblogic Interaction The below JNDI objects are the default JNDI objects which are available before AQJMS framework is started.J. Pavan Kumar 18 .

click on Startup and Shutdown classes -> click on Lock and Edit -> and click on New.V. to include StartupClass.J. Created by P. goto Weblogic console -> under Environment section.19 A White Paper on AQ – Weblogic Interaction b. Pavan Kumar 19 . Now.

J.V. Select “Startup Class” and click on Next d.AQJMSStartupClass -. select AdminServer as Target and click on Finish. Enter name as “AQJMS_Startup” (can be anything) and specify the Class Name as: com.oracle.20 A White Paper on AQ – Weblogic Interaction c. Created by P.weblogic.and click on Next. Pavan Kumar 20 .oems.

J.properties.21 A White Paper on AQ – Weblogic Interaction e.V.AQJMSPasswordFile=aqjms_user. again. Created by P. Pavan Kumar 21 . Select “Failure is Fatal” and “Run before Application Activation” checkboxes g. click on the Startup class and enter the details as follows: Arguments: AQJMSPropertiesFile=aqjms. Save the configuration and click on “Activate Changes” and RESTART the Weblogic.AQJMSConfigDirectory=/sundev/aiadev1osm7/AQJMS/Start upClass f. Now.dat.properties.A QJMSSecretFile=aqjms.

again goto the JNDI Tree and now we will see all the AQ queues that are there in the Oracle AQ available to us a JNDI objects in the Weblogic.J. Pavan Kumar 22 .22 A White Paper on AQ – Weblogic Interaction h.V. Created by P. Now.

Enter the bridge destination details as follows: The above figure is the source (i.V.e. Except for Name.. 2. other details can be left empty. For that. AQ queue details). Pavan Kumar 23 . click on the Servers > Messaging > Bridges > Destinations on the Left hand side tree. To create a JMS Bridge. first create the destinations.J. ConnectionFactory and Destination JNDI.23 A White Paper on AQ – Weblogic Interaction Creating the JMS Bridge between AQ and Weblogic queues: 1. Created by P.

click on click on the Servers > Messaging > Bridges on the Left hand side tree.24 A White Paper on AQ – Weblogic Interaction 3.e. Enter the target destination details (i. now create a bridge. we can just enter the Name.V. For that. ConnectionFactory and Destination JNDI and leave others empty including InitialContextFactory. Created by P.. Username and password. 4. Pavan Kumar 24 . Once the Destinations are ready.J. Weblogic queue details) Here also.

Pavan Kumar 25 . Enter the name and select the checkbox “Started” 6.J.V.25 A White Paper on AQ – Weblogic Interaction 5. Choose the Source and Destination Created by P.

Pavan Kumar 26 .J.26 A White Paper on AQ – Weblogic Interaction Created by P.V.

J. 7.0 or higher because for both the AQ and Weblogic. Pavan Kumar 27 . Created by P.V. Choose the Target server as Admin Server and click on Finish. choose the Messaging Provider as Weblogic Server 7.27 A White Paper on AQ – Weblogic Interaction Note: For both the Source and Target. all JMS objects are now local to the Weblogic server via JNDI.

Created by P. Pavan Kumar 28 . Click on Activate changes and restart the server if prompted.28 A White Paper on AQ – Weblogic Interaction 8.V.J.

WLConnectionFactoryJNDIXA. 2. All the Weblogic / bridge configuration is available in the $[USER_PROJECTS]/domains/[AdminServer]/config/config. Tips: 1.jms.WLConnectionFactoryJNDINOXA.29 A White Paper on AQ – Weblogic Interaction Now. use eis. Created by P.log file.xml file.jms. For non-transactions. you can enqueue the message into the AQ using PLSQL APIs or via BPEL/ESB or anyway and you can see that the JMS Bridge consumes that message and pass it to the Weblogic queue. Pavan Kumar 29 . The experienced Weblogic administrator / user can edit this file and restart the server quickly. For transaction-enabled bridging use the Adapter JNDI name as: eis.V.J. This action can also be viewed in the Weblogic console or in the AdminServer.

oems. the Weblogic stops. But note that the StartupClass would still be loaded.) AIA_SUSFO_OUT_JMSQ -> AIA_SUSFO_OUT_JNDI 6.) AIA_UPDCUST_IN_JMSQ -> AIA_UPDCUST_IN_JNDI 4.) AIA_RESFO_OUT_JMSQ -> AIA_RESFO_OUT_JNDI 8. username and password are correct in aqjms.log file: <Dec 3. ensure the database details – database host.) AIA_UPDTT_OSM_OUT_JMSQ -> AIA_UPDTT_OSM_OUT_JNDI 2. Pavan Kumar 30 .oracle. Also. 2. Created by P. Remove the StartupClass if your Database is not up and running (OR) Comment the StartupClass property in the config. Solution: 1.) AIA_FOPROV_IN_JMSQ -> AIA_FOPROV_IN_JNDI 11.) AIA_FOPROV_OUT_JMSQ -> AIA_FOPROV_OUT_JNDI 10. we have selected the checkboxes “Failure is Fatal” and “Run before Application Activation” checkboxes. 2008 5:22:11 PM EST> <Info> <WebLogicServer> <BEA-000288> <com. port. Since.) AIA_FOCFS_IN_JMSQ -> AIA_FOCFS_IN_JNDI 12. Start the database or database listener.) AIA_GTF_OUT_JMSQ -> AIA_GTF_OUT_JNDI 9. 3.weblogic. SID.J. Weblogic server doesn’t start and end with an error stating that the JDBC connection has failed.AQJMSStartupClass reports: SUCCESS: Bound the following Oracle AQ objects into WebLogic JNDI: XAQueueConnectionFactory -> AQJMS_XAQueueConnectionFactory QueueConnectionFactory -> AQJMS_QueueConnectionFactory Queue(s): 1.) AIA_UPDSO_OUT_JMSQ -> AIA_UPDSO_OUT_JNDI 3.xml so that it is not loaded when Weblogic is started.30 A White Paper on AQ – Weblogic Interaction Quick Troubleshooting: 1. If there is an exception that the Source/Target is not reachable.) AIA_UPDBO_IN_JMSQ -> AIA_UPDBO_IN_JNDI 5.) AIA_SALESORDERJMSQUEUE -> AIA_SALESORDERJMSQUEUE_JNDI 7. Cause: It means that database is NOT up and running or NOT reachable.properties. then ensure that you have got the following similar lines in the Weblogic console / AdminServer.) AIA_FALLOUT_IN_JMSQ -> AIA_FALLOUT_IN_JNDI The above entry is made if the AQJMS Framework is successfully loaded and Weblogic is able to bind the JNDI to the AQ queues. 2. Uncheck the “Failure is Fatal” so that the Weblogic is started.V.