This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes Spring and the fly likes Spring Timer Help required Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Frameworks » Spring
Reply locked New topic
Author

Spring Timer Help required

Kumar Gaurav
Ranch Hand

Joined: Apr 08, 2008
Posts: 108
Hi All,

I am using Spring timer schedule framework for job execution. Below is the code details :

In XML file :
<bean id="schedulerTask" class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
<property name="targetObject" ref="processOrderTimer" />
<property name="targetMethod" value="processOrder" />
</bean>

<bean id="processOrderTimer" class="dk.tdc.kvikoc.app.osm.ProcessOrderTimer" scope="singleton">
<property name="osmBO">
<ref bean="osmBO" />
</property>
</bean>

<bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref local="timerTask" />
</list>
</property>
</bean>

<bean id="timerTask"
class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask" ref="schedulerTask" />
<property name="delay" value="6000" />
<property name="period" value="600000" />
</bean>


public class ProcessOrderTimer {

public synchronized void processOrder() {

//some lines of code
//...........................

//call to below method involves call to a webservice hosted on other machine
response = osmBO.createOrder(arg);

}
}

Now problem is before call to createOrder (in turn webservices) is finished that is response is received another thread(probably created by app server where this code is running) invokes this method.

My requirement is untill processOrder() invocation gets completed by one thread another thread must not be able to access it. i have method the synchronized but of no help.

Any pointer how to do this.



Regards,
Gaurav
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17250
    
    6

Please, please don't duplicate post the same question twice.

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Spring Timer Help required