Results 1 to 5 of 5

Thread: Threads being stuck or hunged in weblogic

  1. #1

    Default Threads being stuck or hunged in weblogic

    Hi,

    Recently I had implemented Spring Integration in my project, & I am getting issues where in the threads are getting stuck @ weblogic..

    After taking the thread dumps here is the stack strace

    Code:
    "[ACTIVE] ExecuteThread: '49' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x029783d0 nid=0x202 waiting on condition [0xb9a3c000..0xb9a3f8f0]
    	at sun.misc.Unsafe.park(Native Method)
    	b
    	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:681)
    	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:837)
    	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1144)
    	at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:199)
    	at org.springframework.integration.channel.MessageChannelTemplate$TemporaryReplyChannel.receive(MessageChannelTemplate.java:288)
    	at org.springframework.integration.channel.MessageChannelTemplate$TemporaryReplyChannel.receive(MessageChannelTemplate.java:282)
    	at org.springframework.integration.channel.MessageChannelTemplate.doReceive(MessageChannelTemplate.java:235)
    	at org.springframework.integration.channel.MessageChannelTemplate.doSendAndReceive(MessageChannelTemplate.java:251)
    	at org.springframework.integration.channel.MessageChannelTemplate.sendAndReceive(MessageChannelTemplate.java:215)
    	at org.springframework.integration.gateway.AbstractMessagingGateway.sendAndReceiveMessage(AbstractMessagingGateway.java:176)
    	at org.springframework.integration.gateway.AbstractMessagingGateway.sendAndReceive(AbstractMessagingGateway.java:159)
    	at org.springframework.integration.gateway.AbstractMessagingGateway.sendAndReceive(AbstractMessagingGateway.java:150)
    	at org.springframework.integration.gateway.GatewayProxyFactoryBean.invokeGatewayMethod(GatewayProxyFactoryBean.java:203)
    	at org.springframework.integration.gateway.GatewayProxyFactoryBean.invoke(GatewayProxyFactoryBean.java:172)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    	at $Proxy190.getOptimizedQuotesForAllCoverages(Unknown Source)
    	at
    Here the getOptimizedQuotesForAllCoverages is my method which uses SI.

    The code in this method is

    Code:
    IGateway quoteGateway = context.getBean("quoteGateway",
    				IGateway.class);
    
    List<Message<QuotePOJO>> quoteMsgList = quoteGateway
    				.getOptimizedQuotesForAllCoverages(param);

    quoteGateway -- is a gateway.

    Also I am using Spring transaction manager on getOptimizedQuotesForAllCoverages but still the threads are timing out & are in active state doing nothing
    tx attribute used is
    <prop key="get*">PROPAGATION_REQUIRED,timeout_60,-java.lang.Exception</prop>

  2. #2
    Join Date
    Oct 2005
    Location
    Boston, MA
    Posts
    2,840

    Default

    Could you please read this section of the reference manual and let us know if it helps?:
    http://static.springsource.org/sprin...ingle/#d4e1902

    Thanks,
    Mark

  3. #3

    Default

    Yes Sure Mark I will read it & let u know if it helps !!!

    thanks for your quick reply

  4. #4

    Default

    Thanks Mark this post helped me, I had a timeout at gateway level & now the return of a gateway is null. But now I want to catch the real thread which is waiting & timeout it so that the rest of the messages are returned to the gateway (since the return of the gateways is a list of Messages).

    for you understanding here is how I have implemented the spring integration

    Code:
     ~~~~~~~~~~~~~~ Gateway ~~~~~~~~~~~~~~
    	  				|
    				inputChannel
    					|
    			  	Filter (FilterChannel output)
    					|
    				   Router  	
    					|
    			   	       / \			
    			              /   \
    			            /      \
    			          /         \
    	           Quote Splitter     Student Splitter (SplitChannel)
    		      |||				    \\\
    		 (SA)			                     \\\
    		 /|||		      		              \\\	
    	 OutputChannel(Queue)                       \\\	
    		|		     			       /|\ 	
    		|		    		              / | \
    		|		   			     /  |  \
    		|		  		             |  /   |  
    		|				      (SA) (SA) (SA)
    		|					/     |     \	
    		|	      		        OutputChannel(Queue) 	
    		|						|		
    		|						|
    	  Aggrgator (which will aggregate all the messages for an user)
    
    ** SA is service Activator
    could you help me to identify the location in the downstream where I should put a timeout so that I get the o/p for a gateway. say if I am expecting a list of 6 msg, then I want to have a timeout set in downstream component in such a way that it timeout's the real thread(which is taking time) & returns rest of the messages in List.

    Not sure but can we have a timeout @ service Activator if the service activator method does not reply in x seconds then the thread is time out ?

    Please advise !
    Last edited by Paresh; Jan 5th, 2011 at 04:56 PM.

  5. #5

    Default

    Hi,

    Can anybody help me in this ?

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •