Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Prioritised Shared Resource Design Pattern - Advice

Mark Brownengland
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a re-occuring problem on multiple Java based projects I am involved in that would appear to be ripe to be addressed by a common design pattern.

The premise of the problem is: There is a need for concurrent data processing that requires use of a shared resource set which is persisted in a database.

The solution should: Ensure data integrity, provide high performance and ensure there are no deadlocks.

The expected behaviour is: A thread is able to query the database and to be returned the next highest priority resource and then within the same transaction is able to persist a modified state of that resource. Within the lifecycle of that thread, an additional resource is able to be persisted in certain situations.

Constraints: The current persistence technology adopted is a schemaless DB which only offers database level locking.

With the exception of the above constraint, the above problem appears to be quite a common problem so I'd appreciate knowing if there are any related enterprise/architecture design patterns which optimally solve this problem?

Also interested to know the technology stack that you would use to meet the solution requirements and expected behaviour?
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic