JMS has messages pending in the queue
Hi, I created a JMS queue to hold some messages, then two message driven bean each take a message from the queue and use JavaMail API 1.2 to send an email out. But somehow, after a while, say, a couple of weeks, there will be about 20 messages pending the queue causing the queue hanging forever. Does anybody know what cause this JMS queue pending? Or is there anything wrong with this design? Thank you very much.
No, Acknowledgement is sending successfully, no excpeption is raising, in finally it is got acknowledged.
here is code block,
public void sendObject(Serializable message) throws JMSException
try {
HelperMethods.logDebugMessage("begin sendObject " + System.currentTimeMillis(),
this.getClass().getName(), "sendObject");
ObjectMessage objectMessage = getQueueSession().createObjectMessage();
objectMessage.clearBody();
objectMessage.setObject(message);
getQueueSender().send(objectMessage);
HelperMethods.logDebugMessage("sent sendObject " +System.currentTimeMillis(),
this.getClass().getName(), "sendObject");
getQueueSession().commit();
catch (Exception e) {
HelperMethods.logDebugMessage("Exception" + e.getMessage(),
this.getClass().getName(), "sendObject");
throw new JMSException(e.getMessage());
public void onMessage(Message message) {
ObjectMessage objectMessage = (ObjectMessage) message;
AttachmentFileUtil attachUtil = new AttachmentFileUtil();
try {
HelperMethods.logDebugMessage("received write sendObject msg " +
System.currentTimeMillis(),
this.getClass().getName(), "onMessage");
if (message instanceof ObjectMessage) {
HelperMethods.logDebugMessage("about to process write sendObject msg " +
System.currentTimeMillis(),
this.getClass().getName(), "onMessage");
AttachmentInfoBean attachment = (AttachmentInfoBean)
objectMessage.getObject();
HelperMethods.logDebugMessage("processed the write sendObject msg " +
System.currentTimeMillis(),
this.getClass().getName(), "onMessage");
HelperMethods.logDebugMessage("writing the sendObject msg to disk " +
System.currentTimeMillis(),
this.getClass().getName(), "onMessage");
// Here we are calling attachment bean, which uploads the file into file server
attachUtil.writeContents(attachment);
HelperMethods.logDebugMessage("After writing the sendObject msg to disk ",
this.getClass().getName(), "onMessage");
HelperMethods.logDebugMessage("After Commiting Session " +
System.currentTimeMillis(),
this.getClass().getName(), "onMessage");
HelperMethods.logDebugMessage(
"finished writing the sendObject msg to disk " +
System.currentTimeMillis(), this.getClass().getName(), "onMessage");
else {
HelperMethods.logDebugMessage(
"oops! no ObjectMessage was received" +
message.getClass(), this.getClass().getName(), "onMessage");
throw new NowException("not an ObjectMessage was received" +
message.getClass());
catch (Exception ex) {
ex.printStackTrace();
HelperMethods.logDebugMessage("Exception" + ex.getMessage(),
this.getClass().getName(), "onMessage");
finally {
try {
HelperMethods.logDebugMessage("acknowledging the message",
this.getClass().getName(), "onMessage");
objectMessage.acknowledge();
catch (JMSException ex) {
ex.printStackTrace();
HelperMethods.logDebugMessage("JMSException" + ex.getMessage(),
this.getClass().getName(), "onMessage");
This is my production problem, please suggest me ASAP.
Regards,
Murthy Patnaik
Similar Messages
-
Enforce to send the messages pending, after the Time To Deliver is changed
JMS Queue is being used to send data from our database to the headquarters’ database.
Our organization considers using "Time To Deliver Override" during the scheduled downtime of the headquarters’ database. For example, when our admin is informed by the headquarters' admin that downtime is scheduled, our admin can change "Time To Deliver Override" from -1 to 1200000 (20 hrs) in WebLogic Consol. Then, when the database is back, our admin will reset the value to -1.
It is simple and quick. However, I realized that the messages pending will not processed for the “Time To Deliver†which was configured when the message was added.
Can WebLogic enforce to send the messages pending, after the "Time To Deliver Override" is changed back to -1?A few related points:
- I think 9.x may provide mbean/JMX/administrative options to change time-to-deliver in existing messages - but, even if it does, this seems unwieldy.
- 9.x also provides options for adminstratrively pausing delivery of a destinations messages, and/or pausing MDBs.
- I think the "time-to-deliver override" also supports setting absolute times via cron like schedules (eg - you can configure it so messages are born at a specific time.)
- Another option is to introduce an intermediate destination and configure a "messaging bridge" to forward messages between them. When messaging needs to be pause, administratively stop the bridge.
Tom -
QueueBrowser doesn't work when messages are in the queue
We are attempting to list off the messages in a JMQ 2.0 queue while our application is running. The code currently creates a new Connection & Session and then a new QueueBrowser on each queue. Following that, we get an Enumeration of the messages in the queue and print them out.
When no messages are in the queue, this approach works fine and prints out all the relevent information. However, when a message is in the queue, the QueueBrowser just hangs. I've tried on transacted and non transacted QueueSessions and the same thing happens.
Is this known behavior and is it possible to work around it?
Thanks,
MikeTry restarting the Mac with the ethernet cable plugged in and with a live device attached ('live device' = another Mac, a modem, a printer, or a hub/switch/router, which has been powered on).
-
Messages stuck in the queue... how do I make them to be processed again?
Hi,
I'm new to SAP PI and kinda confused with queues.
I have file -> bpm -> file scenario and there was an error in mapping within bpm process.
When I went to qRFC Monitor (smq2), I see that in XBQO$PE_WS90000002 queue,
there's an error, 'Permanent error in BPE inbound processing'... which is expected.
Now, I run the interface scenario again several times but they don't get processed
but stuck in the same queue. At this stage, I didn't know what to do...
I thought by deleting the error message, other messages will be processed...
I deleted the error message but the other messages are still in the queue...
I have two questoins.
1. What is the best way to handle an error in the queue... can I just delete it? or is there a better way to handle an error in the queue?
2. After deleting the queue, what should I do to make the other messages to be processed again...
Thank you.
-WonHi Won,
There are programs for restarting the LUW entries:
programs
· RSARFCRD: tRFC Monitor (transaction SM58)
· RSARFCSE: Restart an LUW (background job)
· RSARFCEX: Restart tRFC LUWs (background job)
· RSQOWKEX: Restart QOUT qRFC LUWs
· RSQIWKEX: Restart QIN qRFC LUWs
· RSARFCSE: Delete an LUW (background job)
· RSARFCER: Delete various LUWs
Also, check the url:
http://help.sap.com/saphelp_nw04/helpdata/en/25/bcfa40badbf46fe10000000a1550b0/content.htm
Hope this helps.
Regards,
Sushama -
Message processing in the queue for long time
Hello All,
We are executing a file to Idoc scenario. The mapping is very complex.
The file to be processed is of size 125kb size. Which generates around 450 Idocs.
The file is picked by the adapter engine in hardly a minute.
But I see the message taking 6 hours to process in the Queue.
(SMQ2)
Is there a way I can improve and speed up the Queue processing.Hi,
>message taking 6 hours to process in the Queue.
It should not happen,
Check whether all the Queue are Registered.
/people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/59e837d3-0201-0010-c096-dc1869733413
Regards
Agasthuri Doss -
Messages waiting in the queue for long time.
Hi Experts,
We are having some Production issue - messages were waiting in the queue for long time and we found the errors in defaultTrace.12.trc file -
Please help how to solve this issue its production and we need to move forward and solve this issue asap.
XI AF API call failed. Module exception: (No information available). Cause Ex
ception: 'JDBC Adapter configuration not initialized: null'.
Thrown:
com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: (No information available). Cause Exception: 'JDBC Adapter configuration not
initialized: null'.
at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214)
at com.sap.aii.af.service.api.AdapterAccess.call(AdapterAccess.java:99)
at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:87)
at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:47)
at com.sap.aii.mapping.lookup.SystemAccessor.call(SystemAccessor.java:115)
at com.sony.pi.sp.StoredProceduresHandler.runScalarStoredProcedure(StoredProceduresHandler.java:86)
at com.sap.xi.tf._MyPage_Invoice_SAP_to_Loyalty_MM_.invokePROC_CUSTOMER_DEDUP$(_MyPage_Invoice_SAP_to_Loyalty_MM_.java:1272)
at sun.reflect.GeneratedMethodAccessor384.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.aii.mappingtool.tf3.rt.C2CFunctionWrapper.cacheContext(C2CFunctionWrapper.java:91)
at com.sap.aii.mappingtool.tf3.rt.C2CFunctionWrapper.gotoNextContext(C2CFunctionWrapper.java:44)
at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.cacheQueue(Q2QFunctionWrapper.java:86)
at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.gotoNextContext(Q2QFunctionWrapper.java:41)
at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.cacheQueue(Q2QFunctionWrapper.java:74)
at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.gotoNextContext(Q2QFunctionWrapper.java:41)
at com.sap.aii.mappingtool.flib3.CollapseContexts.gotoNextValue(CollapseContexts.java:52)
at com.sap.aii.mappingtool.flib3.CollapseContexts.gotoNextContext(CollapseContexts.java:37)
at com.sap.aii.mappingtool.tf3.rt.AResIterator.gotoNextContext(AResIterator.java:37)
at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:37)
at com.sap.aii.mappingtool.flib3.IfWithoutElse.gotoNextContext(IfWithoutElse.java:58)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:266)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326)
at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:415)
at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142)
at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:118)
at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64)
at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92)
at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90)
at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95)
at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68)Hi All,
CPACache refresh worked for one day and the same problem repeated again next day, but need to have parmanent fix and should know the root cause of the problem so that the problem can not be repeated again.
Is there any solution other than CPACache refresh and JDBC adapter stop and start to fix the issue.
And also found some entries in SM12 lock entry list during the same schedule time when the messages was triggered and remains for long time. Let me know whether we can delete those locks ?
user PIAFUSER
Lock mode E
and table SXMSPMAST
with lock argument ......
Any suggestions and tips help us alot in fixing this issue.
Thanks in advance
Gary. -
Need to raise an Alert for huge Volume of messages struck in the queue
Dear All,
I have a query which is mentioned below.
The Partners send huge number of volume of messages at a time to PI Server and due to this reason,the messages are getting struck up in the inbound/outbound queue.Everytime the user manually check for the struck up messages and reprocess it.
Example: One Partner sends 50,000 number of ORDERS at a time.
Now an alert needs to be raised for those messages which got struck up ( i.e. messages on hold and "not failed") in the queue.
Please share your inputs /suggestion.
Warm Regards
B.DheepaHi,
Else you can implement the Logic in this blog
XI : How to Re-Process failed XI Messages Automatically
You can Schedule the Strandard Reports to release automatically the Strucked messages in Queues
Regards
Seshagiri -
Re: 1000 messages left in the queue
Sounds like your producer is doing a transactional lock on the write, like it is waiting for a session.commit() on it. What is the structure (environment) of your producer?
Ok... these are the instance variables & imports of mention...
import com.sun.messaging.jms.Session;
import javax.jms.*;
import javax.naming.NamingException;
import java.io.IOException;
import java.io.Serializable;
import java.util.Enumeration;
private Queue queue;
private QueueSender sender;
private QueueReceiver receiver;
private QueueConnection connection;
private QueueSession session; -
Send JMS rollbacked message to del letter queue
Hi,
I have one MDB, which calls an EJB Stateless. This EJB belongs to a container
managed transaction and it can make a Rollback (setRollbackOnly()).
My problem is that if the MDB belongs to the container-managed transaction, when
a rollback is sent, the received JMS message is put back in the JMS queue. But,
I want to send it in a del letter queue.
And if the MDB does not belong to the transaction, I could not know that the transaction
is rollbacked!
Do you know how can I resolve this problem?
Thanks
Charles
Charles,
Search the JMS newsgroup with Google and you should find the answer.
There is a setting (I know it exists but I've never used it and don't
know the exact details on how to use it) that you can change and after a
few tries the message is put into another queue.
--dejan
Charles Desmoulins wrote:
>Hi,
>
>I have one MDB, which calls an EJB Stateless. This EJB belongs to a container
>managed transaction and it can make a Rollback (setRollbackOnly()).
>
>My problem is that if the MDB belongs to the container-managed transaction, when
>a rollback is sent, the received JMS message is put back in the JMS queue. But,
>I want to send it in a del letter queue.
>
>And if the MDB does not belong to the transaction, I could not know that the transaction
>is rollbacked!
>
>Do you know how can I resolve this problem?
>
>Thanks
>Charles
>
>
>
-
JMS Messages getting stuck in queues
Hi,
I am facing this peculiar issue with queue messages not getting picked up.
Application Architecture: There is 1 JMS queue ( which resides in WLDomain1 with in a Unix Box) and there are 2 windows boxes having 2 weblogic domains each with 3 instances of MDB deployed on each of the domains. So total of 12 consumers (2 Box * 2 Domain * 3 Instances of MDB) listens to the JMS queue.
Issue: After bringing everything up I am able to see 12 consumer count listening to the queue. But when I run the application which writes total of 13 messages in the queue only 7 of them are getting processed and 6 messages are always getting stuck in the queues. Interestingly this 7 messages are mostly getting processed by consumers with in the same windows box. And the selection of windows box is completely random. To confirm whether both the windows boxes are configured fine I tried to test them individually and it works fine individually, the problem happens only if I bring up both the boxes together.
Another observation is, if I bring down the non working domains, the pending messages start getting processed by the working domains. It gives an impression that the non working domains seem to lock the messages for processing but doesn't actually process it. Only when I bring down the domains it releases this lock.
Below is the JMS Life cycle events I captured from log files :
1. Start domain1 in WIN Box1
####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040304> <783400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <> <>
####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040309> <239900> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <> <>
####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040313> <2100> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <> <>
2. Start domain2 in WIN Box 1
####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095403> <38600> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <> <>
####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095407> <335400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <> <>
####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095410> <997700> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <> <>
3. Start domain1 in WIN Box 2
####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172061> <316500> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session80.consumer82)> <> <>
####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172066> <324300> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session83.consumer85)> <> <>
####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172072> <757000> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session86.consumer88)> <> <>
4. Start domain2 in WIN Box 2
####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214000> <142800> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session90.consumer92)> <> <>
####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214005> <38200> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session93.consumer95)> <> <>
####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214009> <22400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session96.consumer98)> <> <>
At this point console shows 12 consumers listening the queue which is absolutely fine.
5. Run application
--Message Production
This produces 13 messages ( I have not pasted the complete log)
-- Message Consumption ( Only 7 messages are consumed)
####<Nov 24, 2009 8:00:05 PM CST> <> <> <1259114405953> <576400> <ID:<1047832.1259114392542.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114392542</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410091> <310100> <ID:<1047832.1259114393181.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393181</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410130> <364600> <ID:<1047832.1259114400626.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400626</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410134> <540700> <ID:<1047832.1259114393125.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393125</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410137> <632400> <ID:<1047832.1259114393128.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393128</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:12 PM CST> <> <> <1259114412026> <984200> <ID:<1047832.1259114393123.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393123</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:16 PM CST> <> <> <1259114416045> <41800> <ID:<1047832.1259114400005.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400005</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
6. At this point Admin Consol shows 6 messages pending in the queue
and From consumer numbers it is evident that consumers in WIN Box2 domains have not processed any messages
Now if I stop server in WIN Box2 Domain1, WIN Box1 picks up the messages instantely
####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202343> <897600> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session80.consumer82)> <> <>
####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202346> <421900> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session83.consumer85)> <> <>
####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202379> <582300> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session86.consumer88)> <> <>
####<Nov 24, 2009 8:13:24 PM CST> <> <> <1259115204888> <4600> <ID:<1047832.1259114400029.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400029</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:13:32 PM CST> <> <> <1259115212820> <256700> <ID:<1047832.1259114400258.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400258</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:13:43 PM CST> <> <> <1259115223579> <280600> <ID:<1047832.1259114400032.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400032</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
7. At this poing Admin Consol shows 3 messages pending in the queue
Now if I stop server in WIN Box2 Domain2, the remaining 3 gets processed
####<Nov 24, 2009 8:16:08 PM CST> <> <> <1259115368998> <193400> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session90.consumer92)> <> <>
####<Nov 24, 2009 8:16:08 PM CST> <> <> <1259115369000> <885500> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session93.consumer95)> <> <>
####<Nov 24, 2009 8:16:09 PM CST> <> <> <1259115369002> <902500> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session96.consumer98)> <> <>
####<Nov 24, 2009 8:16:25 PM CST> <> <> <1259115385151> <123700> <ID:<1047832.1259114400324.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400324</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:16:29 PM CST> <> <> <1259115389660> <836600> <ID:<1047832.1259114400535.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400535</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:16:37 PM CST> <> <> <1259115397823> <610200> <ID:<1047832.1259114400432.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400432</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
Kindly throw some light on this issue. Also do let me know if you need any more specific details about this.
Thanks,
Abhijeet
Edited by: user5240164 on Nov 25, 2009 11:35 AM
Edited by: user5240164 on Nov 28, 2009 1:21 PMHi,
The problem may be conflicting names in your configuration. To ensure proper operation of WL Security, JMS, JTA, and JDBC, make sure that (A) each domain has a unique name, and (B) no two WebLogic servers have the same name (even if in two different domains).
To ensure a more even distribution of messages, either simply send more than a token amount messages (eg, a hundred or so, rather than just 12), or configure a custom connection factory on the domain that hosts the queue, reduce MessagesMaximum on the connection factory to 1, and then modify each MDB to refer to the custom connection factory. The MessagesMaximum setting controls the number of messages that can be pre-pushed (pipelined) to a single asynchronous consumer.
For more information see "Best Practices for JMS Beginners and Advanced Users" in the latest versions of the JMS admin guide, and "JMS Performance & Tuning Check List" in the WebLogic Performance and Tuning guide.
Tom -
Backing Up and Restoring the Message Store v.s. the queue
Hello,
We are running iPlanet 5.2 Messaging Server and need to migrate to another (duplicate) 5.2 Messaging Server. We have all the software installed and the LDAP user accounts created. Now we just need to move the existing mail from one server to the other.
I found the Backing Up and Restoring the Message Store section in the Admin Guide says to back up and restore your data, Messaging Server provides the imsbackup and imsrestore utilities.
However I am wondering about the Queue?
Under <instance>/imta/queue
What is the difference between the Message Store
and the Queue? Can I just backup and restore the Queue using tar or cpio?
Thanks in advance for any advice.
Regards,
TimHello,
We are running iPlanet 5.2 Messaging Server and need
to migrate to another (duplicate) 5.2 Messaging
Server. We have all the software installed and the
LDAP user accounts created. Now we just need to move
the existing mail from one server to the other.
I found the Backing Up and Restoring the Message
Store section in the Admin Guide says to back up and
restore your data, Messaging Server provides the
imsbackup and imsrestore utilities.
However I am wondering about the Queue?
Under <instance>/imta/queue
What is the difference between the Message Store
and the Queue? The Message Store is where messages get delivered to, so you can read them.'
The queue is where messages are temporarily stored, pending delivery to wherever they go.
You can use tar, cpio, or what have you for the queue. Stop the server first. . .
You then just restore the files to the new server. No need to restart or anything like that. Just dump the files in, and run
imsimta cache -sync
to tell the MTA to re-read the queue.
Can I just backup and restore the
Queue using tar or cpio?
Thanks in advance for any advice.
Regards,
Tim -
MQ Adapter does not clear the rejected message from the queue
Hi All,
I'm using a MQ Adapter to fetch the message from the queue without any Backout queue configured. However, whenever there is any bad structured message found in the queue, MQ adapter rejects the message and moves the message to the rejmsg folder but does not clear it off the queue, as a result of which it keeps retrying the same hence, filling the logs and the physical memory. Somehow we do not have any backout queue configured so I can move the message to blackout queue. I have tried configuring the jca retry properties and global jca retry as well but to no avail.
- Is it not the default behaviour of MQ Adapter to remove the rejected message from the queue irrespective of Backout queue is configured or not? The same behaviour working well with the JMS and File Adapter though.
- Is there any way I can make MQ Adapter delete the message from that queue once it is rejected?
Regards,
Neeraj SehgalHi Jayson,
Check this URL which answers a problem with com.sap.engine.boot.loader.ResourceMultiParentClassLoader problem:
http://209.85.175.132/search?q=cache:RnFZ9viwuKkJ:https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fcom.sap.sdn.folder.sdn!2fcom.sap.sdn.folder.application!2fcom.sap.sdn.folder.roles!2fcom.sap.sdn.folder.navigationroles!2fcom.sap.sdn.role.anonymous!2fcom.sap.sdn.tln.workset.forums!2fforumtest!2fcom.sap.sdn.app.iview.forumthread%3FQuickLink%3Dthread%26tstart%3D45%26threadID%3D1020700+com.sap.engine.boot.loader.ResourceMultiParentClassLoader&hl=en&ct=clnk&cd=3&gl=in&client=firefox-a
Please check that the JDK compliance level is at 5.0
Window->Preferences->Java->Compiler->Compiler compliance level set this to 5.0
Set the installed JRE to the one you have mentioned JDK 5.0 update 16
Window->Preferences->Java->Installed JRE's->
Click on the add button to select the path of your JDK.
once completed click on the check box next to it.
regards,
AKD -
Messages Current and Messages pending in JMS
Hello All,
I would like to know the difference between Messages Current and Messages Pending in the JMS monitoring tab.
I did read the official documentation but to be honest I am not sure I am undestanding it right !
Could someone explain to me (in simple terms :-) the difference between the two ?
Many thanks.Hi,
Can you please tell me what fields in the Message Header indicate about the source and/ or target systems? For example the Directory header parameter, of Sender FILE channel, tells me from where the file was picked up.
Likewise what does the field JMSDestination stands for?
The screenshot which I have shows the JMS Message Header Details (the ASMA characters).
Tried searching for fields like JMSDestination, but there is no information on SDN abou it.
Thank you,
Pankaj. -
Static information to be added in message header of the XI message in JMS
Hi Friends ,
Is it possible to add some customer specific internal information to message header of the XI message in PI 7.1 level.. If so how ?
customer wants to add some info and to verify whether it would be handled in PI itself or not..
Business case : SAP -
> PI7.1 -
> IBM MQ
All inputs will be appreciated .
Thanks.,
V.RangarajanHi preetak ,
Thanks for your info .Since i have not worked on JMS adapter
As per the Link it says as follows
If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (10 Maximum).
· In the table, enter the Name and Java Type of the JMS message properties whose values are to be included in the message header of the XI message.
Under Java Type, you define the JMS Java message type for the attribute in the created JMS message. The following are possible entries:
boolean , init , String etc.,
Question
1. How to pass the value to this parameter will it be XML file with parameter name and value ?
2. Any other blogs to refer ?
Thanks .,
V.Rangarajan -
What is the consequence if I delete the BDoc Messages from the Queue?
Hi,
What is the consequence if I delete the BDoc Message (SMW01) from the queue with any state (e.g. intermediate)?
Regards,
Alex.Hi Alex.
I had a similar issue with Bdoc. We have had a lot of errors comming through as our CRM & ECC syste were out of sync.
You need to look into the exact error message before you delete a Bdoc. I would suggest that you do not delete any Bdoc message unless you are sure of the error is and it is fixed.
Hope this helps
Mohammed.
Edited by: Mohammed Faisal on Jun 2, 2010 4:43 PM
Maybe you are looking for
-
I have a IPhone 4S and since about a week ago my wifi wouldn't let me slide it to the on side and my personal hotspot doesn'tI don't live in Quincy anymore:( but I'm game some weekend! work either. AND also I see a lot of other people with the same p
-
Calculation of Demurrage in TSW Need heeeellllpppp
I want to calculate Demurrage value upon actualization of discharge line in nomination in an FOB OP/DX scenario.System calculates the: a) Potentuial Latime b) Allowable Laytime but NOT the demurrage value Following are the config settings I have done
-
Pattern and Matcher of Regular Expressions
Hello All, MTMISRVLGLIRDQAISTTFGANAVTDAFWVAFRIPNFLRRLFAEGSFATAFVPVFTEVK ETRPHADLRELMARVSGTLGGMLLLITALGLIFTPQLAAVFSDGAATNPEKYGLLVDLLR LTFPFLLFVSLTALAGGALNSFQRFAIPALTPVILNLCMIAGALWLAPRLEVPILALGWA VLVAGALQLLFQLPALKGIDLLTLPRWGWNHPDVRKVLTLMIPTLFGSSIAQINLM
-
Vendor Account Statement Balances Formats problem
Dear Experts, I have a Vendor account statement and by logic the Total at the end should be the same for whatever period i request the statement in (using fbl1n). Currently i have a vendor which has differenet balances if i request the statement from
-
We purchased an Acrobat 9 Professional and no longer have the installation media. Where we can download the right software according with the license we have? We want to install it on Windows 7 64 bits