Two way RMI with Spring backed by a message queueSpring Integration: Hooking web services to a FIFO queueWhich messaging queue for user messagesUnique ids for jobs in a message queue?Spring JMS - redelivery by sending message back to same queue instead of rollback transactionIs there a way to send/receive Tcp messages without sustaining a connection and without reopening a connection each time?java spring rabbitMQ send to many queuesJMS queue - 10 second pause between sending and receiving object messageMessage queue architecture (client to web server to worker and back)Spring and JMS. Separate queue for every client application. Is it right approach?How to communicate from REST to message queue
How do ohm meters measure high resistances?
Early 2000s movie about time travel, protagonist travels back to save girlfriend, then into multiple points in future
Can European countries bypass the EU and make their own individual trade deal with the U.S.?
How can I deal with extreme temperatures in a hotel room?
Robots in a spaceship
Why isn't UDP with reliability (implemented at Application layer) a substitute of TCP?
if a USA citizen marries a foreign citizen who has kid from previous marriage
Why doesn't SpaceX land boosters in Africa?
List Manipulation : a,b,c,d,e,f,g,h into a,b,c,d,e,f,g,h
Copy group of files (Filename*) to backup (Filename*.bak)
How does mmorpg store data?
What is the Japanese name for the conventional shoelace knot?
Why were the first airplanes "backwards"?
Why wasn't EBCDIC designed with contiguous alphanumeric characters?
Ways to get SMD resistors from a strip
Cooking a nice pan seared steak for picky eaters
What do you call a notepad used to keep a record?
Translation of the Sator Square
Why was Pan Am Flight 103 flying over Lockerbie?
What game is this character in the Pixels movie from?
How do I present a future free of gender stereotypes without being jarring or overpowering the narrative?
Why did the Apple //e make a hideous noise if you inserted the disk upside down?
Why would anyone even use a Portkey?
If two black hole event horizons overlap (touch) can they ever separate again?
Two way RMI with Spring backed by a message queue
Spring Integration: Hooking web services to a FIFO queueWhich messaging queue for user messagesUnique ids for jobs in a message queue?Spring JMS - redelivery by sending message back to same queue instead of rollback transactionIs there a way to send/receive Tcp messages without sustaining a connection and without reopening a connection each time?java spring rabbitMQ send to many queuesJMS queue - 10 second pause between sending and receiving object messageMessage queue architecture (client to web server to worker and back)Spring and JMS. Separate queue for every client application. Is it right approach?How to communicate from REST to message queue
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
The system consists of 1 or more clients and a single server. Each client is added manually and provided with an identifier (client.id
). Each client can send messages to the server. The server can send messages to each client. All messages can be divided into two groups: with an answer and without.
For example some signatures:
CompletableFuture<Response> call(Request requestToServer)
void execute(Data dataToSend)
where Response, Request, and Data are my POJO.
So, I need some sort of RMI for implementing message communication between the server and clients.
Requirements:
- The server must be able to identify a client by its id
client.id
when processing a message, but the client, before sending that message, should not directly fill this identifier; - Messages should be POJO;
- Ability to answer to a message with an exception;
- Event-driven handlers (like @RabbitListener) - several handlers - spring bean per incoming message type, with or without return type. A handler should be resolved automatically, based on incoming message type;
- Backed by RabbitMQ or ArtemisMQ;
- Single service for sending messages from the server to clients: client id should be provided when sending a message. Example:
void sendToClient(int clientId, Data dataToClient)
.
What I've tried to set up this method of communication:
Spring Integration
My own gateway with completable future - great. Also, can enrich message headers withclient.id
- great. But I didn't find an appropriate way to handle an incoming message and being able to answer it. Tried to publish an ApplicationEvent, but all event handlers have a void return type. So, my idea here is to get correlationId and send back message, providing that correlationId - that doesn't look like a clear solution.RabbitListener/RabbitTemplate
Cons:- A lot of code to setup RabbitTemplate to send and receive messages;
- Need to manually setup request and reply queues and bindings;
- problem with resolving
client.id
inside @RabbitHandler.
AmqpProxyFactoryBean
The closest result to my needs, but several problems, that I cannot solve:- Resolve
client.id
on message handler; - Single handler per service interface method.
- Resolve
So, I need a lightweight solution to build up communication between services, backed by a message queue. It should be easy to add additional message type - declare the class, add the handler to the consumer and create an object of that class and send it from the producer.
But maybe I'm completely wrong, about services communication? Maybe I should not use message queue for that purpose?
java spring message-queue rmi mq
add a comment |
The system consists of 1 or more clients and a single server. Each client is added manually and provided with an identifier (client.id
). Each client can send messages to the server. The server can send messages to each client. All messages can be divided into two groups: with an answer and without.
For example some signatures:
CompletableFuture<Response> call(Request requestToServer)
void execute(Data dataToSend)
where Response, Request, and Data are my POJO.
So, I need some sort of RMI for implementing message communication between the server and clients.
Requirements:
- The server must be able to identify a client by its id
client.id
when processing a message, but the client, before sending that message, should not directly fill this identifier; - Messages should be POJO;
- Ability to answer to a message with an exception;
- Event-driven handlers (like @RabbitListener) - several handlers - spring bean per incoming message type, with or without return type. A handler should be resolved automatically, based on incoming message type;
- Backed by RabbitMQ or ArtemisMQ;
- Single service for sending messages from the server to clients: client id should be provided when sending a message. Example:
void sendToClient(int clientId, Data dataToClient)
.
What I've tried to set up this method of communication:
Spring Integration
My own gateway with completable future - great. Also, can enrich message headers withclient.id
- great. But I didn't find an appropriate way to handle an incoming message and being able to answer it. Tried to publish an ApplicationEvent, but all event handlers have a void return type. So, my idea here is to get correlationId and send back message, providing that correlationId - that doesn't look like a clear solution.RabbitListener/RabbitTemplate
Cons:- A lot of code to setup RabbitTemplate to send and receive messages;
- Need to manually setup request and reply queues and bindings;
- problem with resolving
client.id
inside @RabbitHandler.
AmqpProxyFactoryBean
The closest result to my needs, but several problems, that I cannot solve:- Resolve
client.id
on message handler; - Single handler per service interface method.
- Resolve
So, I need a lightweight solution to build up communication between services, backed by a message queue. It should be easy to add additional message type - declare the class, add the handler to the consumer and create an object of that class and send it from the producer.
But maybe I'm completely wrong, about services communication? Maybe I should not use message queue for that purpose?
java spring message-queue rmi mq
This is all very confused. Either you want RMI or you want message queues. They are completely different programming paradigms. JMS has a listener-style API. RMI has a method-invocation-style API. You need to make up your mind which it is you want. You can't have both.
– user207421
Mar 25 at 16:29
Thanks, I think, it would be more close to my question, if I change term RMI to RPC in this context.
– jDek
Mar 27 at 8:05
add a comment |
The system consists of 1 or more clients and a single server. Each client is added manually and provided with an identifier (client.id
). Each client can send messages to the server. The server can send messages to each client. All messages can be divided into two groups: with an answer and without.
For example some signatures:
CompletableFuture<Response> call(Request requestToServer)
void execute(Data dataToSend)
where Response, Request, and Data are my POJO.
So, I need some sort of RMI for implementing message communication between the server and clients.
Requirements:
- The server must be able to identify a client by its id
client.id
when processing a message, but the client, before sending that message, should not directly fill this identifier; - Messages should be POJO;
- Ability to answer to a message with an exception;
- Event-driven handlers (like @RabbitListener) - several handlers - spring bean per incoming message type, with or without return type. A handler should be resolved automatically, based on incoming message type;
- Backed by RabbitMQ or ArtemisMQ;
- Single service for sending messages from the server to clients: client id should be provided when sending a message. Example:
void sendToClient(int clientId, Data dataToClient)
.
What I've tried to set up this method of communication:
Spring Integration
My own gateway with completable future - great. Also, can enrich message headers withclient.id
- great. But I didn't find an appropriate way to handle an incoming message and being able to answer it. Tried to publish an ApplicationEvent, but all event handlers have a void return type. So, my idea here is to get correlationId and send back message, providing that correlationId - that doesn't look like a clear solution.RabbitListener/RabbitTemplate
Cons:- A lot of code to setup RabbitTemplate to send and receive messages;
- Need to manually setup request and reply queues and bindings;
- problem with resolving
client.id
inside @RabbitHandler.
AmqpProxyFactoryBean
The closest result to my needs, but several problems, that I cannot solve:- Resolve
client.id
on message handler; - Single handler per service interface method.
- Resolve
So, I need a lightweight solution to build up communication between services, backed by a message queue. It should be easy to add additional message type - declare the class, add the handler to the consumer and create an object of that class and send it from the producer.
But maybe I'm completely wrong, about services communication? Maybe I should not use message queue for that purpose?
java spring message-queue rmi mq
The system consists of 1 or more clients and a single server. Each client is added manually and provided with an identifier (client.id
). Each client can send messages to the server. The server can send messages to each client. All messages can be divided into two groups: with an answer and without.
For example some signatures:
CompletableFuture<Response> call(Request requestToServer)
void execute(Data dataToSend)
where Response, Request, and Data are my POJO.
So, I need some sort of RMI for implementing message communication between the server and clients.
Requirements:
- The server must be able to identify a client by its id
client.id
when processing a message, but the client, before sending that message, should not directly fill this identifier; - Messages should be POJO;
- Ability to answer to a message with an exception;
- Event-driven handlers (like @RabbitListener) - several handlers - spring bean per incoming message type, with or without return type. A handler should be resolved automatically, based on incoming message type;
- Backed by RabbitMQ or ArtemisMQ;
- Single service for sending messages from the server to clients: client id should be provided when sending a message. Example:
void sendToClient(int clientId, Data dataToClient)
.
What I've tried to set up this method of communication:
Spring Integration
My own gateway with completable future - great. Also, can enrich message headers withclient.id
- great. But I didn't find an appropriate way to handle an incoming message and being able to answer it. Tried to publish an ApplicationEvent, but all event handlers have a void return type. So, my idea here is to get correlationId and send back message, providing that correlationId - that doesn't look like a clear solution.RabbitListener/RabbitTemplate
Cons:- A lot of code to setup RabbitTemplate to send and receive messages;
- Need to manually setup request and reply queues and bindings;
- problem with resolving
client.id
inside @RabbitHandler.
AmqpProxyFactoryBean
The closest result to my needs, but several problems, that I cannot solve:- Resolve
client.id
on message handler; - Single handler per service interface method.
- Resolve
So, I need a lightweight solution to build up communication between services, backed by a message queue. It should be easy to add additional message type - declare the class, add the handler to the consumer and create an object of that class and send it from the producer.
But maybe I'm completely wrong, about services communication? Maybe I should not use message queue for that purpose?
java spring message-queue rmi mq
java spring message-queue rmi mq
edited Mar 25 at 16:03
Ali Azim
11813 bronze badges
11813 bronze badges
asked Mar 25 at 14:52
jDekjDek
391 silver badge6 bronze badges
391 silver badge6 bronze badges
This is all very confused. Either you want RMI or you want message queues. They are completely different programming paradigms. JMS has a listener-style API. RMI has a method-invocation-style API. You need to make up your mind which it is you want. You can't have both.
– user207421
Mar 25 at 16:29
Thanks, I think, it would be more close to my question, if I change term RMI to RPC in this context.
– jDek
Mar 27 at 8:05
add a comment |
This is all very confused. Either you want RMI or you want message queues. They are completely different programming paradigms. JMS has a listener-style API. RMI has a method-invocation-style API. You need to make up your mind which it is you want. You can't have both.
– user207421
Mar 25 at 16:29
Thanks, I think, it would be more close to my question, if I change term RMI to RPC in this context.
– jDek
Mar 27 at 8:05
This is all very confused. Either you want RMI or you want message queues. They are completely different programming paradigms. JMS has a listener-style API. RMI has a method-invocation-style API. You need to make up your mind which it is you want. You can't have both.
– user207421
Mar 25 at 16:29
This is all very confused. Either you want RMI or you want message queues. They are completely different programming paradigms. JMS has a listener-style API. RMI has a method-invocation-style API. You need to make up your mind which it is you want. You can't have both.
– user207421
Mar 25 at 16:29
Thanks, I think, it would be more close to my question, if I change term RMI to RPC in this context.
– jDek
Mar 27 at 8:05
Thanks, I think, it would be more close to my question, if I change term RMI to RPC in this context.
– jDek
Mar 27 at 8:05
add a comment |
1 Answer
1
active
oldest
votes
Well using a message queue or message broker like RabbitMQ is a perfectly valid solution. But you have to think whether it is what you actually need.
A message broker allows you to decouple the producers and consumers of messages. It also allows you to introduce a level of fault tolerance. If the consumer is not available temporarily the message is not lost. However, it also means that if a reply is expected the producer of the message might incorrectly think that the other end has processed its request and keep waiting for a reply. Message brokers also often offer some kind of guarantee, like once-and-only-once, or at-least-once, and also policies how to handle undeliverable messages (like dead letter queues), time-to-live, and various routing capabilities (like consistent hash based routing). In your case, you will probably have to route by some header value carrying your client.id
if your server-originated messages are to reach one client only.
If you don't care about any of these features and just want a communications fabric, maybe going for something a bit different might make more sense. For example Akka offers actor-based distributed communication.
If what is bothering you is just the cleanliness of the solution, or the amount of boilerplate, maybe having a look at other implementations might help. You might want to have a look at the Reactive Streams API implementation for RabbitMQ, which should be a bit more abstract.
Thanks, that make sense for me. Akka is a quite interesting solution, but I don't want to use any reactivity in the project - I don't have enought knowlege about this. But for now I'm digging into gRPC as a solution to my problem.
– jDek
Mar 27 at 8:10
Well plain Akka doesn't have to do with reactivity as such. The reactive streams implementation on top of Akka came after. Akka is just an actor based framework to send messages and have workers consume them. Pretty much like rabbitmq got a reactive streams abstraction implemented for it. gRPC is cool too and performant. But it is not a message broker as such.
– jbx
Mar 31 at 11:39
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55340560%2ftwo-way-rmi-with-spring-backed-by-a-message-queue%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Well using a message queue or message broker like RabbitMQ is a perfectly valid solution. But you have to think whether it is what you actually need.
A message broker allows you to decouple the producers and consumers of messages. It also allows you to introduce a level of fault tolerance. If the consumer is not available temporarily the message is not lost. However, it also means that if a reply is expected the producer of the message might incorrectly think that the other end has processed its request and keep waiting for a reply. Message brokers also often offer some kind of guarantee, like once-and-only-once, or at-least-once, and also policies how to handle undeliverable messages (like dead letter queues), time-to-live, and various routing capabilities (like consistent hash based routing). In your case, you will probably have to route by some header value carrying your client.id
if your server-originated messages are to reach one client only.
If you don't care about any of these features and just want a communications fabric, maybe going for something a bit different might make more sense. For example Akka offers actor-based distributed communication.
If what is bothering you is just the cleanliness of the solution, or the amount of boilerplate, maybe having a look at other implementations might help. You might want to have a look at the Reactive Streams API implementation for RabbitMQ, which should be a bit more abstract.
Thanks, that make sense for me. Akka is a quite interesting solution, but I don't want to use any reactivity in the project - I don't have enought knowlege about this. But for now I'm digging into gRPC as a solution to my problem.
– jDek
Mar 27 at 8:10
Well plain Akka doesn't have to do with reactivity as such. The reactive streams implementation on top of Akka came after. Akka is just an actor based framework to send messages and have workers consume them. Pretty much like rabbitmq got a reactive streams abstraction implemented for it. gRPC is cool too and performant. But it is not a message broker as such.
– jbx
Mar 31 at 11:39
add a comment |
Well using a message queue or message broker like RabbitMQ is a perfectly valid solution. But you have to think whether it is what you actually need.
A message broker allows you to decouple the producers and consumers of messages. It also allows you to introduce a level of fault tolerance. If the consumer is not available temporarily the message is not lost. However, it also means that if a reply is expected the producer of the message might incorrectly think that the other end has processed its request and keep waiting for a reply. Message brokers also often offer some kind of guarantee, like once-and-only-once, or at-least-once, and also policies how to handle undeliverable messages (like dead letter queues), time-to-live, and various routing capabilities (like consistent hash based routing). In your case, you will probably have to route by some header value carrying your client.id
if your server-originated messages are to reach one client only.
If you don't care about any of these features and just want a communications fabric, maybe going for something a bit different might make more sense. For example Akka offers actor-based distributed communication.
If what is bothering you is just the cleanliness of the solution, or the amount of boilerplate, maybe having a look at other implementations might help. You might want to have a look at the Reactive Streams API implementation for RabbitMQ, which should be a bit more abstract.
Thanks, that make sense for me. Akka is a quite interesting solution, but I don't want to use any reactivity in the project - I don't have enought knowlege about this. But for now I'm digging into gRPC as a solution to my problem.
– jDek
Mar 27 at 8:10
Well plain Akka doesn't have to do with reactivity as such. The reactive streams implementation on top of Akka came after. Akka is just an actor based framework to send messages and have workers consume them. Pretty much like rabbitmq got a reactive streams abstraction implemented for it. gRPC is cool too and performant. But it is not a message broker as such.
– jbx
Mar 31 at 11:39
add a comment |
Well using a message queue or message broker like RabbitMQ is a perfectly valid solution. But you have to think whether it is what you actually need.
A message broker allows you to decouple the producers and consumers of messages. It also allows you to introduce a level of fault tolerance. If the consumer is not available temporarily the message is not lost. However, it also means that if a reply is expected the producer of the message might incorrectly think that the other end has processed its request and keep waiting for a reply. Message brokers also often offer some kind of guarantee, like once-and-only-once, or at-least-once, and also policies how to handle undeliverable messages (like dead letter queues), time-to-live, and various routing capabilities (like consistent hash based routing). In your case, you will probably have to route by some header value carrying your client.id
if your server-originated messages are to reach one client only.
If you don't care about any of these features and just want a communications fabric, maybe going for something a bit different might make more sense. For example Akka offers actor-based distributed communication.
If what is bothering you is just the cleanliness of the solution, or the amount of boilerplate, maybe having a look at other implementations might help. You might want to have a look at the Reactive Streams API implementation for RabbitMQ, which should be a bit more abstract.
Well using a message queue or message broker like RabbitMQ is a perfectly valid solution. But you have to think whether it is what you actually need.
A message broker allows you to decouple the producers and consumers of messages. It also allows you to introduce a level of fault tolerance. If the consumer is not available temporarily the message is not lost. However, it also means that if a reply is expected the producer of the message might incorrectly think that the other end has processed its request and keep waiting for a reply. Message brokers also often offer some kind of guarantee, like once-and-only-once, or at-least-once, and also policies how to handle undeliverable messages (like dead letter queues), time-to-live, and various routing capabilities (like consistent hash based routing). In your case, you will probably have to route by some header value carrying your client.id
if your server-originated messages are to reach one client only.
If you don't care about any of these features and just want a communications fabric, maybe going for something a bit different might make more sense. For example Akka offers actor-based distributed communication.
If what is bothering you is just the cleanliness of the solution, or the amount of boilerplate, maybe having a look at other implementations might help. You might want to have a look at the Reactive Streams API implementation for RabbitMQ, which should be a bit more abstract.
answered Mar 25 at 15:07
jbxjbx
12.7k10 gold badges62 silver badges115 bronze badges
12.7k10 gold badges62 silver badges115 bronze badges
Thanks, that make sense for me. Akka is a quite interesting solution, but I don't want to use any reactivity in the project - I don't have enought knowlege about this. But for now I'm digging into gRPC as a solution to my problem.
– jDek
Mar 27 at 8:10
Well plain Akka doesn't have to do with reactivity as such. The reactive streams implementation on top of Akka came after. Akka is just an actor based framework to send messages and have workers consume them. Pretty much like rabbitmq got a reactive streams abstraction implemented for it. gRPC is cool too and performant. But it is not a message broker as such.
– jbx
Mar 31 at 11:39
add a comment |
Thanks, that make sense for me. Akka is a quite interesting solution, but I don't want to use any reactivity in the project - I don't have enought knowlege about this. But for now I'm digging into gRPC as a solution to my problem.
– jDek
Mar 27 at 8:10
Well plain Akka doesn't have to do with reactivity as such. The reactive streams implementation on top of Akka came after. Akka is just an actor based framework to send messages and have workers consume them. Pretty much like rabbitmq got a reactive streams abstraction implemented for it. gRPC is cool too and performant. But it is not a message broker as such.
– jbx
Mar 31 at 11:39
Thanks, that make sense for me. Akka is a quite interesting solution, but I don't want to use any reactivity in the project - I don't have enought knowlege about this. But for now I'm digging into gRPC as a solution to my problem.
– jDek
Mar 27 at 8:10
Thanks, that make sense for me. Akka is a quite interesting solution, but I don't want to use any reactivity in the project - I don't have enought knowlege about this. But for now I'm digging into gRPC as a solution to my problem.
– jDek
Mar 27 at 8:10
Well plain Akka doesn't have to do with reactivity as such. The reactive streams implementation on top of Akka came after. Akka is just an actor based framework to send messages and have workers consume them. Pretty much like rabbitmq got a reactive streams abstraction implemented for it. gRPC is cool too and performant. But it is not a message broker as such.
– jbx
Mar 31 at 11:39
Well plain Akka doesn't have to do with reactivity as such. The reactive streams implementation on top of Akka came after. Akka is just an actor based framework to send messages and have workers consume them. Pretty much like rabbitmq got a reactive streams abstraction implemented for it. gRPC is cool too and performant. But it is not a message broker as such.
– jbx
Mar 31 at 11:39
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55340560%2ftwo-way-rmi-with-spring-backed-by-a-message-queue%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
This is all very confused. Either you want RMI or you want message queues. They are completely different programming paradigms. JMS has a listener-style API. RMI has a method-invocation-style API. You need to make up your mind which it is you want. You can't have both.
– user207421
Mar 25 at 16:29
Thanks, I think, it would be more close to my question, if I change term RMI to RPC in this context.
– jDek
Mar 27 at 8:05