Sunday, October 2, 2011

Debugging OutOfMemory in Durable Subscribers

(this is just a stub... working on it...)

classes involved:

weblogic.rjvm.MsgAbbrevJVMConnection
weblogic.rjvm.MsgAbbrevJVMConnection.WritingState

weblogic.utils.UnsyncCircularQueue

weblogic.utils.io.Chunk

weblogic.rjvm.t3.MuxableSocketT3


T3MsgAbbrevJVMConnection extends MsgAbbrevJVMConnection


debug flags:

DebugJMSDurableSubscribers
DebugJMSDispatcher
DebugAbbreviation

weblogic.kernel.debug
DebugConnection
DebugMessaging
DebugJMSBackEnd
DebugJMSFrontEnd
DebugJMSCommon

DebugJMSXA


basically this WLST:


cd('/Servers/ms1/ServerDebug/ms1')
cmo.setDebugAbbreviation(true)
cmo.setDebugConnection(true)
cmo.setDebugMessaging(true)
cmo.setDebugJMSBackEnd(true)
cmo.setDebugJMSCommon(true)
cmo.setDebugJMSDurableSubscribers(true)
cmo.setDebugMessagingKernel(true)
cmo.setDebugMessagingKernelBoot(true)
cmo.setDebugJMSDispatcher(true)
cmo.setDebugJMSFrontEnd(true)
cmo.setDebugJMSXA(true)

activate()



parameters:
KernelMBean T3ServerAbbrevTableSize

weblogic.Chunksize
weblogic.utils.io.chunkpoolsize
weblogic.PartitionSize


see http://download.oracle.com/docs/cd/E12840_01/wls/docs103/perform/WLSTuning.html#wp1152088

Interesting: Connection Factory "Subscription Sharing Policy" (sharable or exclusive) http://download.oracle.com/docs/cd/E17904_01/web.1111/e15493/jms_extensions.htm but this leads to the message being delivered to only 1 subscriber

No comments: