Question: You are asked to implement a message queue class using Java. The following figure depicts a message queue connector class, followed by the detailed specifications

You are asked to implement a message queue class using Java. The following figure depicts a message queue connector class, followed by the detailed specifications of operations. The message queue connector class has send() and receive(), and the size of queue is 3. You can declare additional variables in the message queue class if necessary. To test your implementation, your program should create two separate threads, a producer thread and a consumer thread. The producer thread sends a message having a structure, (string, integer) e.g., (add, 3) or (multiply, 7) - to a consumer thread via a message queue. There is a SimpleCalculation class that has two operations, add() and multiply(). You should implement the SimpleCalculation class. When the consumer thread receives a message from the queue, it extracts the message and then calls one of operations on the SimpleCalculation class depending on the message. For example, the consumer thread calls the add() operation if it receives a message like (add, 3), while it calls the multiply() operation if it receives a message like (multiply, 3). The add() operation in the SimpleCalculation adds 10 to the integer in a message from the producer thread and displays the result on the screen. The multiply() operation multiplies the integer by 10 and displays the result on the screen. The producer thread should displays the messages on the screen before it sends the messages to the consumer thread. The messages are (add, 4), (multiply, 1), (multiply, 8), (add, 2), (add, 3), (add, 99), (multiply, 53) sent to the consumer. Please make a zip file containing all source codes (.java files) for this assignment

You are asked to implement a message queue class using Java. The

ucer receive (out message) send (in message) MessageQueue - messageQ: Queue eue + send (in message ) +receive (out message) Message queue class MessageQueue -- Encapsulate message queue that holds max of maxCount messages -- Monitor operations are executed mutually exclusively; private maxCount : Integer; private messageCount : Integer = 0; Private buffer public send (in message) while messageCountmaxCount do wait; place message in buffer; Increment messageCount; if messageCount -1 then notify; end send; public receive (out message) while messageCount - 0 do wait; remove message trom butter; Decrement messageCount; if messageCount maxCount-1 then notify; end receive; end MessageQueue

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!