MDBs responding via Temporary Queue
Hello,
I've been attempting to get this working in test code, but i seem to be missing something. I want a message producer to send a message to an administered queue, have the message processed by a Message Driven Bean, and have the bean post a response back to a temporary queue that was setup in the original producer. All over the net i find statements that this can be done and is reasonably normal, but i have not found a single code snippet to this effect, nor can i apparently get it to work on my own. I am using JMS with J2EE 1.3 on websphere 5.0.
Within the message producer, i create the temporary queue and pass it in the JMSReplyTo field.
<code>
TemporaryQueue tempq = queueSession.createTemporaryQueue();
message.setText("Temporary Queue Test Message");
message.setJMSReplyTo(tempq);
queueSender.send(message);
</code>
The MDB sees the message and onMessage is called normally. From within the MDB code, i have the temporary queue object (i print out the name of the queue in the message ReplyTo field with toString() to confirm) and i have the MDB context from getMessageDrivenContext() supplied by javax.ejb. Unfortunately, javax.ejb.MessageDrivenContext is not the same or similar to javax.naming.Context.
To send a message, i need the send() method from the QueueSender interface, which is generated from the QueueSession interface, which is generated from the QueueConnection interface, which is generated from a QueueConnectionFactory, and is ultimately reliant upon javax.naming.Context. So, i have the (temporary) queue object, but see no method to put a message on it for consumption by the creator of the temporary queue. (messages on temporary queues can only be consumed by the creator of said queue. if no other producer can use it, too, perhaps i am missing the point on temporary queues)
I can easily get the MDB to fire off messages to other administered queues. How do i get it to respond with a message on a temporary queue?
Could somebody please enlighten me?
thanks,
cam
Thanks Andreas, your answer sent me off on new trails to read, but something is still missing. I hope that you (or anybody else) is able to see what i do not.
Your code was J2EE 1.4 (beta), but Websphere 5.0 still uses J2EE 1.3.1. I was able to translate most of your code back to the older form but some doesn't fit, which may be part of my problem (as shown below).
I have connection factories and queues already setup on the server. they work fine as far as all other non-temporary queue usage is concerned.
Using your code, here's some of the problems i have crossed while trying to sort this out
public void onMessage(Message inMessage)
Destination dest = (Destination) ctx.lookup("jms/t0");
MessageProducer producer = session.createProducer(dest);
producer.send(msg);
}My first question is how are you looking up a temporary (i.e. dynamically created) queue with some hard-coded string ("jms/t0")? I assume that your string was meant to be arbitrary but it must still represent the destination, which is the temporary queue that doesn't have a hardcodable name (AFAIK). I have tried using the name inMessage.getJMSReplyTo().toString(), which in my case gives me "queue://WAS_localhost_server1/AMQ.10000009?persistence=1", but this only throws a NamingException (not found) when trying to do a lookup() on it.
If you already had the Destination object from inMessage.getJMSReplyTo().toString(), why would you bother to go through a String lookup just to get the object again? (for use in the createProducer() call)
To get past the above naming exception, i commented out the Destination getting line and used the object from the getJMSReplyTo() message method. In 1.3.1, the equivalent Producer line looks like:
QueueSender producer = session.createSender(replyTo);which is pretty much like what i already had. Unfortunately, an error is reported that it is unable to open the specified queue. (J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource JMS$MyMDBConnectionFactory$JMSManagedConnection@580144656. The exception which was received is MQJMS2008: failed to open MQ queue)
I double checked to make sure both the creator of the temporary queue and the MDB were both using the same administered Connection Factory. They are. I don't know if it's relevant.
Any further ideas?
Thanks,
cam
Similar Messages
-
MDB replying to temporary queue
Hi,
I'm having problems getting an MDB to reply to a temporary queue set by an EJB. It seems to be getting the correct temporary queue, but the EJB that is meant to receive the reply times out, and then gives a null pointer exception, which I assume means no text in the reply message.
here's the relevant code from both the EJB and MDB:
EJB:-
QueueSession queueSession = null;
QueueSender queueSender = null;
TemporaryQueue tq = null;
QueueReceiver queueReceiver = null;
TextMessage message = null;
try
queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
queueSender = queueSession.createSender(queue);
tq = queueSession.createTemporaryQueue();
queueReceiver = queueSession.createReceiver(tq);
message = queueSession.createTextMessage();
message.setText("Message from EJB to MDB");
message.setJMSReplyTo(tq);
System.out.println("Temp queue = " + tq.toString());
queueSender.send(message);
Message response = queueReceiver.receive(20000);
TextMessage responseText = (TextMessage)response;
System.out.println("EJB: Message received: " + responseText.getText());
MDB:-
public void onMessage(Message inMessage)
TextMessage msg = null;
QueueConnection queueConnection = null;
QueueSession queueSession = null;
QueueSender queueSender = null;
TextMessage replyMsg = null;
try
if (inMessage instanceof TextMessage)
msg = (TextMessage) inMessage;
System.out.println("MESSAGE BEAN: Message received: " + msg.getText());
queueConnection = queueConnectionFactory.createQueueConnection();
queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
System.out.println("Temp Queue = " + msg.getJMSReplyTo().toString());
queueSender = queueSession.createSender((Queue)msg.getJMSReplyTo());
replyMsg = queueSession.createTextMessage();
replyMsg.setText("From MDB: Right back at ya");
System.out.println("Sending Reply Message");
queueSender.send(replyMsg);
Any ideas?
Thanks.Yes, I kind of figured there was no message to be found on the temporary reply queue.
I was wondering why this is, both beans have a toString() method that displays the same queue name, so they're using the same temporary queue, and the MDB definitely replies to the EJB. So I'm still not sure why the EJB doesn't find a message.
The MDB sends its reply long before the EJB times out on its receive. The only reason I put in the value 20000 ms was that with a blocking receive the EJB would wait indefinitely.
Still stuck,
thanks. -
MDB for Temporary Queues?
I have a need for MDB functionality on temporary queues (either with an actual MDB, or by doing the functionality myself, inside the app server). Is that possible?
The context is as follows:
An application is deployed to multiple application servers. The application recceives requests that are session oriented. In other words, after the first message of a sequence, subsequent messages from the original sender must go to the same instance that received the first request.
Hence the goal is to have a queue, unique to the instance, dynamically created (to avoid administrative headaches), that is used to receive the subsequent messages. That queue needs to have multiple consumers on it, each in its own session for parallelism.
This is sort of like to the standard synchronous messaging pattern, except that the replyTo queue is send on the reply and used on subsequent requests. Also, the application needs to be able to handle a number of these at once (separate threadds).
Thoughts?The broker property imq.autocreate.destination.useDMQ (default set to true) controls whether to use DMQ for temporary destinations as well as for all auto-created destinations. Alternatively you can control at per message level before sending to a destination whether the message should use DMQ by setting the boolean property "JMS_SUN_PRESERVE_UNDELIVERED" (set to false to not use DMQ) to the message.
-
How to bind Temporary Queue to Context in FioranoMQ
I have two JMS clients sending messages to each other via FioranoMQ.
And one client creates a temporary queue, for example
Temporary Queue auction1Queue = qSession.createTemporaryQueue();
My question is how to bind this auction1Queue to Context? so that the client on the side can lookup
I don't use the usual way of set/getJMSReplyTo() to message because it will change the logic of my program.
With SonicMQ, I just simply bind it like this
jndi.bind("auction1", auction1Queue);
then the other side just need to jndi.lookup("auction1")
and with ActiveMQ it is even simpler
Both side just need to lookup for the same name like that
jndi.lookup("dynamicQueues/auction1");
http://activemq.apache.org/jndi-support.html
But FioranoMQ does not support both of the above operations.
I don't really know how to do the same thing with FioranoMQ.
Hope that somebody can help me.
Thank you very much
Edited by: dannytrinh1 on Apr 16, 2009 5:53 AMHow to look up for temporary queue by using temporary queue name using JNDI context. I am getting lookup faild error" for temporary queue. While trying to bind this temporary queue name to jndi , it is throwing an exception as: notsupported exception. I am using ActiveMQ 5.2.
See below sample code...
tq = session.createTemporaryQueue();
jndiContext.bind("queue.MyTempQueue",tq); -
Cannot receive message on temporary queue
I am executing the following code in a web application.
It is sending a message to a JMS queue. The MDB
listening to that queue processes the message
and posts a reply to the temporary queue specified in
the JMS Reply to field. The queue browser code below
shows that the message is in the queue, but the receive
times out and returns null. My question is why can't the
receiver get the message?
Am I missing something?
Thanks in advance,
-Doug.
=====WEBAPP SIDE===========
QueueConnection connection = null;
QueueSession session = null;
QueueSender sender = null;
QueueReceiver receiver = null;
Queue respQueue = null;
try
connection = QUEUE_CON_FACTORY.createQueueConnection();
connection.start();
session = connection.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
TextMessage textMessage = session.createTextMessage();
textMessage.setText(xmlInput);
if (wait)
respQueue = session.createTemporaryQueue();
textMessage.setJMSReplyTo(respQueue);
receiver = session.createReceiver(respQueue);
sender = session.createSender(INPUT_QUEUE);
sender.send(textMessage);
if (wait)
QueueBrowser qB = session.createBrowser(respQueue);
Enumeration enum = qB.getEnumeration();
while (enum.hasMoreElements())
Message msg = (Message) enum.nextElement();
LOG.debug("msg = " + msg);
return ((TextMessage) receiver.receive(10000)).getText();
return DEFAULT_RESPONSE;
=======MDB side============
QueueConnection queueConnection = QUEUE_CON_FACTORY.createQueueConnection();
queueConnection.start();
QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
TextMessage textMsg = queueSession.createTextMessage();
textMsg.setText(buffer.toString());
QueueSender queueSender = queueSession.createSender((Queue)getReplyDestination());
queueSender.send(textMsg);
queueSender.close();
QueueBrowser qB = queueSession.createBrowser((Queue)bpelCtx.getReplyDestination());
Enumeration enum = qB.getEnumeration();
while (enum.hasMoreElements())
Message msg = (Message) enum.nextElement();
LOG.debug("msg = " + msg);
queueSession.close();
queueConnection.close();
==== LOG ====
[DEBUG] 2006-01-16 14:51:17,780 MDB - msg = TextMessage[ID:N<192225.1137444677780.0>, <unique-id-response xmlns
="htt...]
[DEBUG] 2006-01-16 14:51:27,374 WEBAPP -
msg = TextMessage[ID:N<192225.1137444677780.0>, <unique-id-response xmlns="htt..
.]At first glance, this looks like a standard design to me. Does the same problem occur when there are no browsers?
Tom
(Performance note: It is quite CPU-intensive to continually create and close connections/temporary destinations/sessions/consumers/producers. Cache and/or pool them for re-use when possible. Use a cached anonymous producer on the MDB for sending replies [pass null for the dest when creating it, and specify the dest as a send parameter].) -
Premiere CC 2014 crashes when exporting via the Queue
Having issues exporting from Premiere CC 2014 via the "Queue".
My system:
Dell Precision T5600 Workstation
Windows 7 Pro 64 bit
Xeon E5-2680 @ 2.7 GHz processor
Nvidia Quadro 4000 graphics card, driver ver 347.25
32 GB RAM
Creative Cloud 2014
Premiere Pro CC (2014) Up to date
Media Encoder CC (2014) Up to date
Exporting via the Queue has work just fine in the past. Had this issue awhile back and cleared some cashed files which fixed the problem but don't remember what I did. I have uninstalled and re-installed Premiere. This took care of the problem for awhile, but now the same issue has cropped up again.
Symptoms: When exporting a sequence from Premiere, clicking "Queue" launches Media Encoder but it doesn't completely hand off the sequence to Media Encoder. Premiere locks up, leaving a small blank window open named "Export Media (Not Responding)". It never completes the hand over to the Media Encoder queue. If I reverse the process by launching Media Encoder and import the same Premiere timeline directly into the Media Encoder queue, it loads and renders just fine. If I do an "Export" from Premiere, it works just fine. This seems to indicate something is going on with the exchange between Premiere and Media Encoder. I have this issues on multiple projects.
Any help would be greatly appreciated.
Thanks, DaveI'm not clear why you couldn't run it in Administrator mode ... right-click the program icon, Properties -> Compatibility, near the bottom, run in administrator mode ...
Neil -
Hi,
I cannot create a receiver for the temporary queue. It throws "Invalid Destination"
exception. I disassembled the session class and the reason is the session class casts the
temporary query to Query and it throws null pointer exception as the temporary queue does not extend this
interface. The code I used is written as I had read in Sun's JMS tutorial, why it does not work?
Context ctx = new InitialContext();
QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("jms/QueueConnectionFactory");
QueueConnection connection = factory.createQueueConnection();
QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue tempQueue = session.createTemporaryQueue();
QueueReceiver receiver = session.createReceiver(reportQueue); <-- this is the place where the exception is thrown
receiver.setMessageListener(new ReportQueueListener());
connection.start();
Exception:
javax.jms.InvalidDestinationException: Invalid queue
at com.evermind.server.jms.EvermindQueueSession.createReceiver(EvermindQueueSession.java:145)
at com.evermind.server.jms.EvermindQueueSession.createReceiver(EvermindQueueSession.java:134)
Thanks, Zbynek
P.S. I found similar questions in this forum but no answer ???You already have a reference to the Queue from msg.getJMSReplyTo(). There
should be no need to look it up again.
I don't think you are supposed to be able to look up a temporary queue in
this fashion anyway.
Bob
"Chuck Kiefriter" <[email protected]> wrote in message
news:3d209522$[email protected]..
>
> I send an object message to a queue with the JMSReplyTo set to a temporay
queue the
> client uses to sit and listen for a response. When the MDB tries to do a
lookup
> on the temporary queue to send a response, it gives me the following
error:
>
> javax.naming.NameNotFoundException: Unable to resolve
eDailiesJMSServer.TemporaryQueue56
> Resolved: '' Unresolved:'eDailiesJMSServer' ; remaining name
'TemporaryQueue56'
> <<no stack trace available>>
>
> I checked in the WebLogic console while the client was still listening for
a response
> and it shows a temporay queue up and running called
eDailiesJMSServer.TemporaryQueue56
>
> Is there something else I should do to resolve the JNDI name? I used the
following
> code in the MDB to get the temporary queue name:
>
> (Queue)msg.getJMSReplyTo()).getQueueName()
>
> Any ideas?
>
-
I send an object message to a queue with the JMSReplyTo set to a temporay queue the
client uses to sit and listen for a response. When the MDB tries to do a lookup
on the temporary queue to send a response, it gives me the following error:
javax.naming.NameNotFoundException: Unable to resolve eDailiesJMSServer.TemporaryQueue56
Resolved: '' Unresolved:'eDailiesJMSServer' ; remaining name 'TemporaryQueue56'
<<no stack trace available>>
I checked in the WebLogic console while the client was still listening for a response
and it shows a temporay queue up and running called eDailiesJMSServer.TemporaryQueue56
Is there something else I should do to resolve the JNDI name? I used the following
code in the MDB to get the temporary queue name:
(Queue)msg.getJMSReplyTo()).getQueueName()
Any ideas?
You already have a reference to the Queue from msg.getJMSReplyTo(). There
should be no need to look it up again.
I don't think you are supposed to be able to look up a temporary queue in
this fashion anyway.
Bob
"Chuck Kiefriter" <[email protected]> wrote in message
news:3d209522$[email protected]..
>
> I send an object message to a queue with the JMSReplyTo set to a temporay
queue the
> client uses to sit and listen for a response. When the MDB tries to do a
lookup
> on the temporary queue to send a response, it gives me the following
error:
>
> javax.naming.NameNotFoundException: Unable to resolve
eDailiesJMSServer.TemporaryQueue56
> Resolved: '' Unresolved:'eDailiesJMSServer' ; remaining name
'TemporaryQueue56'
> <<no stack trace available>>
>
> I checked in the WebLogic console while the client was still listening for
a response
> and it shows a temporay queue up and running called
eDailiesJMSServer.TemporaryQueue56
>
> Is there something else I should do to resolve the JNDI name? I used the
following
> code in the MDB to get the temporary queue name:
>
> (Queue)msg.getJMSReplyTo()).getQueueName()
>
> Any ideas?
>
-
Temporary queue - what am I doing wrong?
I have two different apps - one server and many clients, both are working with OpenMQ 4.2 on SP1 Vista x86.
Conception is:
1. Server has an one permanent queue to whom clients send auth requests.
2. Each time client prepares authorization request it creates temporary queue, where response from server should arrive - one queue per each client.
3. Name of this temporary queue is attached to authorization request.
But it doesn't work =((((((((
Piece of code on client dedicated to temp queue:
dataQueue = session.createTemporaryQueue();
dataQueueName = dataQueue.getQueueName();then DataQueueName is being sent to server as simple String message (something like temporary_destination://queue/***.***.***.***/61253/1 )property where it tries to use this queue:
// processing received message...
dataQueue = new com.sun.messaging.Queue(receivedString);But it doesn't work, Connection not created exception occurs.
What am I doing wrong?
Thanks to everybody for your future answers.thanks for your answer!
I've tried to work with autocreated queues as you wrote and it works, great =)
but I have a problem when adopting your example
Queue tmp = m.getJMSReplyTo();
there is type mismatch here, tmp is an +com.sun.messaging.Queue+ object, but method +getJMSReplyTo()+ returns +javax.jms.Destination+ =(
Edited by: GlebHappy on 17.11.2008 0:11 -
Hi,
I've setup a template for temporary queues in the weblogic console (8.1SP4). However, I'm getting an exception when trying to destroy the queue after use. This doesn't happen with other JMS providers, so is there something special to Weblogic about temp queues? Is there a specific option that needs to be set in the template?
Queue: MyJMSServer.TemporaryQueue1390
weblogic.jms.common.JMSException: Destination is in use
at
weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:137)
at
weblogic.jms.dispatcher.DispatcherImpl_814_WLStub.dispatchSyncFuture(Unknown
Source)
at
weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:3
45)
at
weblogic.jms.client.JMSConnection.destroyTemporaryDestination(JMSConnection.java:1089)
at
weblogic.jms.common.DestinationImpl.delete(DestinationImpl.java:455)
at
com.trs.cv.fmk.fcms.common.impl.TimeoutQueueRequestor.request(TimeoutQueueRequestor.java:
203)
at
com.trs.cv.fmk.fcms.cas.client.impl.CasCnsIntegration.request(CasCnsIntegration.java:203)
Thanks,
NasrinIf there are still application receivers on the temporary destination, the call will fail. (As specified in the JMS javadoc.) Perhaps this is the reason for the exception? In which case the application needs to close its receivers first.
-
When Broker Restarts None of the Temporary Queues Are Created
Somehow when the broker restarts none of the temporary queues are getting recreated. The queues were created successfully the 1st time and the applications were happily exchanging messages. Things just fall apart when the broker restarts.
I'm able to reproduce this problem consistently by doing the following:
1. Start imqbrokerd (mq start)
2. Start client application
3. Shutdown imbrokerd (mq stop)
4. Start imqbrokerd (mq start)
After the producers in the client application have reconnected the following messages are displayed in the console. I'm only able to get the client app to work again is if I restart the client apps.
[02/Mar/2009:23:01:01 CST] attempting to set Message Bytes Limit to 10485760K for destination temporary_destination://queue/192.168.20.14/49823/1 [Queue]
[02/Mar/2009:23:01:01 CST] attempting to set Message Size Limit to 10240K for destination temporary_destination://queue/192.168.20.14/49823/1 [Queue]
[02/Mar/2009:23:01:01 CST] [B1065]: Accepting: [email protected]:57123->jms:37646. Count: service=9 broker=9
[02/Mar/2009:23:01:01 CST] [B2083]: Unable to create destination temporary_destination://queue/192.168.20.14/49823/1 [Queue], autocreation is forbidden
Do you guys have any idea on what's going on? Does anybody know of an existing workaround?
Environment:
- OpenMQ 4.3
- CentOS 5.2
- Sun JDK 1.6_05
- Spring 2.5.5
- Camel 1.3.0
I also looked at the code and found only one location where the error message is used. I still need to figure our how I can get the conditional expression to evaluate to false.
share/java/com/sun/messaging/jmq/jmsserver/core/Destination.java
1395 if (!DestType.isAdmin(type) && !canAutoCreate(DestType.isQueue(type),type) && !BrokerMonitor.isInternal(destination)) {
1396 throw new BrokerException(
1397 Globals.getBrokerResources().getKString(
1398 BrokerResources.W_DST_NO_AUTOCREATE,
1399 getName()),
1400 BrokerResources.W_DST_NO_AUTOCREATE,
1401 (Throwable) null,
1402 Status.FORBIDDEN);
-bash-3.2$ /tmp/openmq-4.3/mq/bin/imqcmd query bkr -t q -n MYQUEUE -u admin
Password: admin
Querying the broker specified by:
Host Primary Port
localhost 7676
Version 4.3
Instance Name imqbroker
Broker ID
Primary Port 7676
Broker is Embedded false
Instance Configuration/Data Root Directory /tmp/openmq-4.3-data/var/mq
Current Number of Messages in System 202
Current Total Message Bytes in System 317483
Current Number of Messages in Dead Message Queue 201
Current Total Message Bytes in Dead Message Queue 316444
Log Dead Messages true
Truncate Message Body in Dead Message Queue false
Max Number of Messages in System unlimited (-1)
Max Total Message Bytes in System unlimited (-1)
Max Message Size 70m
Auto Create Queues true
Auto Create Topics true
Auto Created Queue Max Number of Active Consumers unlimited (-1)
Auto Created Queue Max Number of Backup Consumers 0
Cluster ID
Cluster is Highly Available false
Cluster Broker List (active) mq://192.168.1.123:7676/
Cluster Broker List (configured)
Cluster Master Broker
Cluster URL
Log Level DEBUG
Log Rollover Interval (seconds) 604800
Log Rollover Size (bytes) 268435456
Successfully queried the broker.
I also tried versions 4.4 and 4.2 and received the same behavior :(The application is inside an app server but we're not using a resource adapter as we're using Spring and Camel to hide the JMS details. Spring (JMSComponent) manages the connection directly. (We current don't have any JMS connection pooling as well.)
<bean id="jmsTransactionManager" class="org.springframework.jms.connection.JmsTransactionManager">
<property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>
<bean id="jmsConnectionFactory" class="com.norvax.framework.jms.OpenMQConnectionFactory">
<property name="openmqBrokerConfiguration">
<props>
<prop key="imqBrokerHostName">$remoting{openmq.hostName}</prop>
<prop key="imqBrokerHostPort">$remoting{openmq.hostPort}</prop>
<prop key="imqReconnect">true</prop>
</props>
</property>
</bean>
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>
I'm going to write a very basic producer using Spring without using Camel and see if I'll get the same behavior. I'd like to see if the way Camel uses JMS is what's making OpenMQ broker to deny creation of temporary queues.
Thanks,
Jeff -
Temporary Queue BMQ size limit?
Hi,
is there a size limit for tha temporary queue on BEA Message queue?
To explain better the ones managed by BMQ itself, not the permanent ones configured in the init files.
I ask this since I have this kinf of transaction on my application:
client send a message by BMQ to Server that performs the receive and send the ACK Message to client whose buffer is 30 KB(30.000 byte), so is there a size limit on the BEA Message Q temporary queues?
Thanks.
Ciao
AndreaThat depends. In most cases, there is no limit for tmq queue size.
But you need to know the following things:
1. On Unix/Win, the tmp queue is stored in the heap of qe process and doesn't have size limit. But on OVMS, tmp queue shares the global section with other queues. So obviously the max tmp queue size is limited.
2. You can define the tmp queue quota in init file. In this case, the queue size is limited.
3. If the tmp queue quota is exceeded, the message will be stored in SAF/DQF files, which may have size limit.
4. If the message is sent cross groups, the message may be in link_buffer_pool when linkdriver is busy for network I/O. The link_buffer_pool is limited.
5. Each message cannot exceed the specified max message in this group, which is defined in init file and needs to be less than or equal to 4M bytes.
Regards,
Leo -
What port numbers are used when creating temporary queues
Using the following code as an example, what port(s) are used when creating temporary queues? Is it a range of ports? Is it random? And is it configurable? If you have any insight on this, please let me know. Thanks.
QueueConnection con = connectionFactory.createQueueConnection();
QueueSession session = con.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
TemporaryQueue replyQueue = session.createTemporaryQueue();The only ports I know about are the defaults ports:
JMS 7676
IIOP 3700
Are these the only ports that are used, even for temporary queues? -
Configuring an MDB to an MQSeries Queue
I want complete details as to how to configure an MDB to an MQSeries Queue.
From the JMS FAQ at http://e-docs.bea.com/wls/docs70/faq/jms.html
Q. How do I integrate non-WebLogic JMS providers with WLS?
A. Refer to the white paper, "Using Foreign JMS Providers with WebLogic
Server" (jmsproviders.pdf) on
http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
for a discussion on integrating MQ Series, IBus MessageServer, Fiorano,
and SonicMQ.
Or google search this newsgroup for "MQ".
Tom
Ranjit wrote:
> I want complete details as to how to configure an MDB to an MQSeries Queue.
-
OTMQ- Issue on creating temporary Queues
Hi,
I'm experiencing some issues when trying to create a temporary queue by using Oracle Tuxedo Message Queue. What is happening is:
1- I call tpqattach without any queuename and setting the qattachctl parameters:
qattachctl.attachmode = TMQ_ATTACH_TEMPORARY;
qattachctl.qtype = TMQ_ATTACH_PQ;
2- The tpqattach runs successfully (return is different than -1) but it does not set my queue name with the temporary queue name that has been assigned for my process.
Is there any parameter that I'm missing in order to create a temporary queue? How can I get the temp queue name?
Thanks in advance,
Brunno AttorreHey Bob,
Thanks for the answer!
That's exactly it.
Thank you,
Brunno Attorre
Maybe you are looking for
-
I have an iPad 2 and so does my mom. We both have the app Slotomania and now all of sudden after having it for months, our games connected and we don't know how to fix it. Deleting it and reinstalling does not work.
-
Dynamic layout elements determination logic for output of Pro-Forma Invoice
This is my requirement below. Please give the suggestion Business requires output to be generated in name of the client, with client logo and scenario specific data elements. To do this in Standard SAP will require to define hundreds and hundreds
-
Hi, We have developed forms using the Livecycle Designer 7.0 and then enable these form on Livecycle Designer 8.0.Some of the users are unable the open the full form with some fields appearing blank when they open it.They had adobe reader v 8.1 on th
-
Installation Guide for IDES ECC6
Hi........ I need to install IDES server. can any one please provide me the IDES ECC6.0 installation guide. Operating system :Windows NT DB: Oracle 10.2.0.1.0 Thanks in advance............. Regards Raja.
-
I am having problem with my hp desktop p2-1255il.<br>After installing windows 7. There is a problem with the graphics. The video is not playing in good quality.<br>And the screen resolution is not changing.<br>Please help me please<br>with regards