Showing posts with label JMS destination corrupt. Show all posts
Showing posts with label JMS destination corrupt. Show all posts

Friday, December 19, 2014

How to fix JMS destination corrupt error in SystemOut.log

Error description is as
CWSIP0291W: An attempt to send a message to exception destination _SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus on messaging engine qnode.server1-SCA.APPLICATION.qcell.Bus failed due to the following : com.ibm.ws.sib.processor.exceptions.SIMPDestinationCorruptException: CWSIK0027E: The destination with name _SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus is corrupt


 Messaging engine must be running

To view the status of messaging engines , go to
Service integration  ==> Buses. ==> Bus Name ==>Messaging engines


The wsadmin jython command  for resetting the destination would be

me = AdminControl.queryNames("type=SIBMessagingEngine,name=messaging_engine_name,*" )

 where messaging_engine_name is the name of the messaging engine and  can be obtained from the errors in SystemOut.log


AdminControl.invoke(me, "resetDestination", ["destination"] )
where destination is the name of the destination and can be obtained from the errors in SystemOut.log


Then in the last , stop and start the Server hosting the messaging engine.

For a websphere process server topology , there will be four buses
BPC , SCA Application , SCA System , CEI .



Example Command


 me = AdminControl.queryNames("type=SIBMessagingEngine,name=qnode.server1-SCA.APPLICATION.qcell.Bus,*" )

 AdminControl.invoke(me, "resetDestination", ["_SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus"] )

You may get the following error after running the second command


 WASX7015E: Exception running command: " AdminControl.invoke(me, "resetDestination", ["_SYSTEM.Exception.Destination.qnode.server1-SCA.APPLICATION.qcell.Bus"] )"
; exception information: javax.management.MBeanException com.ibm.ws.sib.processor.exceptions.SIMPRuntimeOperationFailedException: com.ibm.ws.sib.processor.exceptions.SIMPRuntimeOperationFailedException: com.ibm.ws.sib.processor.impl.exceptions.InvalidOperationException: CWSIP0005E: An internal messaging error occurred INDOUBT in com.ibm.ws.sib.processor.impl.indexes.statemod
el.State, 1:219:1.13


In that case

Go to
Service integration , Buses, Bus Name, Messaging engines , Messaging Engine Name , Queue Points

Select the Queue Point where Queue Depth is greater than 0

Go to Runtime Tab , Messages

 Click on delete all

This will delete all the messages in that queue point .

Restart the messaging engine or the application server itself .

Just restarting the messaging engine will get rid you of the error until there is another message in the destination .