I have a Java application, which uses an Oracle Queue to store messages in the queue for later processing by multiple threads consuming queued messages. The messages in this queue can be related to each other, and must therefore be processed in a specific order based on the business logic of my application. Basically, I want to achieve that the dequeueing of one message A is held back as long as another message B in the queue has not been completely processed. The only weapon given by Oracle AQ I see here, are the Delay and an Priority parameters. These, however, cannot be used to achieve the scenario outlined above, since there are situations, where two related messages still can be dequeued and processed at the same time. Are there any tools that can help establishing an advanced processing order of messages?
Related Questions in MULTITHREADING
- How can I outsource worker processes within a for loop?
- OpenMP & oneTbb difference
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- C++ error: no matching member function for call to 'enqueue' futures.emplace_back(TP.enqueue(sum_plus_one, x, &M));
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Qt: running callback in the main thread from the worker thread
- Using `static` on a AVX2 counter function increases performance ~10x in MT environment without any change in Compiler optimizations
- Heap sort with multithreading
- windows multithreading CreateMutex
- The problem of "fine-grained locks and two-phase locking algorithm"
- OpenMP multi-threading not working if OpenMPI set to use one or two MPI processor
- WPF Windows Initializing is locking the separated thread in .Net 8
- TCP Client Losing Connection When Writing Data
- vc++ thread constructor throwing compiler error c2672
- ASP.NET Core 6 Web API : best way to pause before resending email
Related Questions in ORACLE
- sqlplus myusername/mypassword@ORCL not working with Oracle on Docker
- Oracle setting up on k8s cluster using helm charts enterprise edition
- Oracle Managed Data Access Client can't work from IIS but work for local debug environment
- If composite indexing created - indexing is called?
- Oracle Http server ISNT-07551
- why here not creating table?
- Data migration from Oracle Database Clob to GCP Bucket
- SQL Alchemy custom type, forcing blob bind parameter
- How to send message to syslog agent in plsql
- Whatever the data available in previous record it should add to the new record
- I have an Oracle SQL query that is giving me a "ORA-00918: column ambiguously defined" error on a line that is a comment line
- 'ORA-12170: TNS:Connect timeout occurredORA-12170: TNS:Connect timeout occurred' ERROR while working on oracle with laravel
- Is their any way i can open parallel query tabs
- VSCode Libraries not showing for New Java Project
- I can't ssh to my instance, Connection refused
Related Questions in MESSAGE-QUEUE
- What's the right ZMQ architecture for my scenario?
- How to Extract Queue Name, Priority, and Message ID from RabbitMQ Inbound Endpoint Messages in WSO2 MI 4.2?
- Is there any example or design of a queue system in microservices?
- tkinter: search widget by name in an efficient way
- How do I maintain the same internal host on RabbitMQ?
- How to use consistent hashing across publishers, queues, and consumers
- How can I monitor/locate specific communications between programs on WIN10?
- Celery manually decoding message body in python
- How to read more than 32 message from Azure storage Queue
- How many senders and receivers of a notification are possible in a POSIX message queue
- Make sure BullMQ queue pushes data to single node in redis cluster
- Problem with AMQP-CPP and libuv - TCP Channel is not ready
- The switch of keyboard layout on Windows: synchronization with the multistage-processing of character input
- Queuing mechanism per account
- Is there a way to define a RabbitMQ consumer that keeps listening for a queue without blocking the program?
Related Questions in PRIORITY-QUEUE
- Using custom comparator to sort a Priority Queue in C++. Keep getting invalid comparator error
- Fastest implementation of priority_queue in C++?
- Getting error Cannot convert Generic.Comparer<Pair> to Generic.IComparer<int> while comparing two objects in a priority queue in c# using lambda ex
- How to create and use a map of priority queues with a custom comparator?
- Custom sort for HashMap on Priority Queue
- Why does priority_queue use greater<> for ascending order?
- Issues with custom compare for std::priority_queue in c++98
- Unabale to find the best case time complexity of priority queue Dijkstra Algorithm
- How to show the nodes with shortest distance from priority queue in dijkstra algorithm?
- is there a way to implement priority queue with binary heap but the values are structs themselves?
- STM32 Interrupt Priority
- add Node from Queue into list but its makes infinite loop
- Adding Objecting in Priority Queue With multiple comparison
- Using greater comparator in priority_queue storing pointers of custom class
- Efficient Implementation of Priority Queue with Constant-Time Extraction of the Minimum Element
Related Questions in ORACLE-AQ
- how to fix PLS-00306: wrong number or types of arguments in call to 'DEQUEUE'
- Error in executing task: 'javax.jms.Session javax.jms.Connection.createSession(boolean, int)
- ERROR when trying to configure Oracle AQ with WSO2 Micro Integrator
- Large numbers of warnings generated by suspected JDBC driver issue using Oracle 19c
- Use Oracle AQ to enqueue a CLOB from a Pro*C program back to an Oracle stored procedure
- Oracle AQ Dequeue Order By ENQ_TID
- Oracle Advanced Queuing Service via Node.js -- dequeue a Message Gives Error Message Error: ORA-25215: user_data type and queue type do not match
- SpringBoot 3.x upgrade: AQjmsFactory version compatibility issue with Jakarta namespace
- Helidon AQ connector does not throw error on database connection reset
- Asynchronous listening of JMS Message from Oracle AQ - Buffered Queue not working
- Oracle Advanced Queuing and Jakarta namespace
- Oracle AQ. Error ORA-25263: no message in queue when dequeue message
- JMS with Oracle AQ. How to change delay of JMS Message when it's already in the queue?
- Oracle AQ/JMS - Why is the queue being purged on application shutdown?
- DBMS_AQ.ENQUEUE_ARRAY causes internal ArrayIndexOutOfBoundsException in Oracle JDBC driver
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I came to the conclusion that it is not a good idea to order these messages using the queue, because it would need a custom and very specialized dequeue strategy, which has a very bad smell to me, both, complexity and most likely performance wise. It also tries to fix communication protocol issues using the queue, which are application specific and therefore should find treatment in the application itself. Instead, the application / communication protocol should be tolerant enough to handle ordering issues.