• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Paul Clapham
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Roland Mueller
  • Piet Souris
Bartenders:

Scheduling issue

 
Ranch Hand
Posts: 108
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Joined: Apr 08, 2008
Posts: 73
posted Today 9:50:52 AM 0
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.

 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic