Spring cloud stream application messaging system portability
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am in process of building an application with IBM MQ. The suggested architecture to build it is using spring cloud stream. I have read in many articles that you can port your spring cloud messaging system to some other. That means, i can change my IBM MQ to kafka later also but provided binder implementation on classpath. What does that mean?
I have built a Spring Amqp application using rabbitmq and the features i used in my application are as belo,
- Request reply
- Dlq
- Producer and listener configuration both with scale up and down which means i can create a queue, its exchange and binding routing key using code.
I want to know is above feature available if i use spring cloud stream and do i need to change my implementation code to port ibm mq to kafka?
apache-kafka rabbitmq ibm-mq spring-cloud spring-cloud-stream
add a comment |
I am in process of building an application with IBM MQ. The suggested architecture to build it is using spring cloud stream. I have read in many articles that you can port your spring cloud messaging system to some other. That means, i can change my IBM MQ to kafka later also but provided binder implementation on classpath. What does that mean?
I have built a Spring Amqp application using rabbitmq and the features i used in my application are as belo,
- Request reply
- Dlq
- Producer and listener configuration both with scale up and down which means i can create a queue, its exchange and binding routing key using code.
I want to know is above feature available if i use spring cloud stream and do i need to change my implementation code to port ibm mq to kafka?
apache-kafka rabbitmq ibm-mq spring-cloud spring-cloud-stream
1
Is your question really just asking what the Classpath means? For example, let's say you have no Kafka code, it's for IBM or Rabbit, then you start to try to use Spring Kafka classes in the code, then you'll get compilation errors because theyre not found... So you need to add Kafka libraries to your classpath, and port parts of the code to use them
– cricket_007
Nov 25 '18 at 16:26
Another question is do i need to change my implementation code to shift from ibm mq to kafka?
– Aditya Ekbote
Nov 25 '18 at 16:41
I don't have experience with Spring Kafka, but at the very least, I think there's different annotations for "hooking up" Kafka settings, so yes
– cricket_007
Nov 25 '18 at 17:50
Alternatively, you can keep your IBM MQ code, and use Kafka Connect to move messages directly into Kafka docs.confluent.io/current/connect/kafka-connect-ibmmq/…
– cricket_007
Nov 25 '18 at 17:51
add a comment |
I am in process of building an application with IBM MQ. The suggested architecture to build it is using spring cloud stream. I have read in many articles that you can port your spring cloud messaging system to some other. That means, i can change my IBM MQ to kafka later also but provided binder implementation on classpath. What does that mean?
I have built a Spring Amqp application using rabbitmq and the features i used in my application are as belo,
- Request reply
- Dlq
- Producer and listener configuration both with scale up and down which means i can create a queue, its exchange and binding routing key using code.
I want to know is above feature available if i use spring cloud stream and do i need to change my implementation code to port ibm mq to kafka?
apache-kafka rabbitmq ibm-mq spring-cloud spring-cloud-stream
I am in process of building an application with IBM MQ. The suggested architecture to build it is using spring cloud stream. I have read in many articles that you can port your spring cloud messaging system to some other. That means, i can change my IBM MQ to kafka later also but provided binder implementation on classpath. What does that mean?
I have built a Spring Amqp application using rabbitmq and the features i used in my application are as belo,
- Request reply
- Dlq
- Producer and listener configuration both with scale up and down which means i can create a queue, its exchange and binding routing key using code.
I want to know is above feature available if i use spring cloud stream and do i need to change my implementation code to port ibm mq to kafka?
apache-kafka rabbitmq ibm-mq spring-cloud spring-cloud-stream
apache-kafka rabbitmq ibm-mq spring-cloud spring-cloud-stream
asked Nov 25 '18 at 5:37
Aditya EkboteAditya Ekbote
7631716
7631716
1
Is your question really just asking what the Classpath means? For example, let's say you have no Kafka code, it's for IBM or Rabbit, then you start to try to use Spring Kafka classes in the code, then you'll get compilation errors because theyre not found... So you need to add Kafka libraries to your classpath, and port parts of the code to use them
– cricket_007
Nov 25 '18 at 16:26
Another question is do i need to change my implementation code to shift from ibm mq to kafka?
– Aditya Ekbote
Nov 25 '18 at 16:41
I don't have experience with Spring Kafka, but at the very least, I think there's different annotations for "hooking up" Kafka settings, so yes
– cricket_007
Nov 25 '18 at 17:50
Alternatively, you can keep your IBM MQ code, and use Kafka Connect to move messages directly into Kafka docs.confluent.io/current/connect/kafka-connect-ibmmq/…
– cricket_007
Nov 25 '18 at 17:51
add a comment |
1
Is your question really just asking what the Classpath means? For example, let's say you have no Kafka code, it's for IBM or Rabbit, then you start to try to use Spring Kafka classes in the code, then you'll get compilation errors because theyre not found... So you need to add Kafka libraries to your classpath, and port parts of the code to use them
– cricket_007
Nov 25 '18 at 16:26
Another question is do i need to change my implementation code to shift from ibm mq to kafka?
– Aditya Ekbote
Nov 25 '18 at 16:41
I don't have experience with Spring Kafka, but at the very least, I think there's different annotations for "hooking up" Kafka settings, so yes
– cricket_007
Nov 25 '18 at 17:50
Alternatively, you can keep your IBM MQ code, and use Kafka Connect to move messages directly into Kafka docs.confluent.io/current/connect/kafka-connect-ibmmq/…
– cricket_007
Nov 25 '18 at 17:51
1
1
Is your question really just asking what the Classpath means? For example, let's say you have no Kafka code, it's for IBM or Rabbit, then you start to try to use Spring Kafka classes in the code, then you'll get compilation errors because theyre not found... So you need to add Kafka libraries to your classpath, and port parts of the code to use them
– cricket_007
Nov 25 '18 at 16:26
Is your question really just asking what the Classpath means? For example, let's say you have no Kafka code, it's for IBM or Rabbit, then you start to try to use Spring Kafka classes in the code, then you'll get compilation errors because theyre not found... So you need to add Kafka libraries to your classpath, and port parts of the code to use them
– cricket_007
Nov 25 '18 at 16:26
Another question is do i need to change my implementation code to shift from ibm mq to kafka?
– Aditya Ekbote
Nov 25 '18 at 16:41
Another question is do i need to change my implementation code to shift from ibm mq to kafka?
– Aditya Ekbote
Nov 25 '18 at 16:41
I don't have experience with Spring Kafka, but at the very least, I think there's different annotations for "hooking up" Kafka settings, so yes
– cricket_007
Nov 25 '18 at 17:50
I don't have experience with Spring Kafka, but at the very least, I think there's different annotations for "hooking up" Kafka settings, so yes
– cricket_007
Nov 25 '18 at 17:50
Alternatively, you can keep your IBM MQ code, and use Kafka Connect to move messages directly into Kafka docs.confluent.io/current/connect/kafka-connect-ibmmq/…
– cricket_007
Nov 25 '18 at 17:51
Alternatively, you can keep your IBM MQ code, and use Kafka Connect to move messages directly into Kafka docs.confluent.io/current/connect/kafka-connect-ibmmq/…
– cricket_007
Nov 25 '18 at 17:51
add a comment |
1 Answer
1
active
oldest
votes
The main goal of the spring-cloud-stream framework is to provide transparent binding capabilities to to a variety of external system and message brokers, to ensure that the actual user code stays agnostic to the type of broker used.
So yes, you can swap the binder from A to B without introducing any changes to your code. You may need to change some configuration parameters (e.g., broker URL, port etc). For more details please visit the project website which provides a very good summary of the capabilities of the framework as well as links to detailed documentation.
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%2f53464956%2fspring-cloud-stream-application-messaging-system-portability%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
The main goal of the spring-cloud-stream framework is to provide transparent binding capabilities to to a variety of external system and message brokers, to ensure that the actual user code stays agnostic to the type of broker used.
So yes, you can swap the binder from A to B without introducing any changes to your code. You may need to change some configuration parameters (e.g., broker URL, port etc). For more details please visit the project website which provides a very good summary of the capabilities of the framework as well as links to detailed documentation.
add a comment |
The main goal of the spring-cloud-stream framework is to provide transparent binding capabilities to to a variety of external system and message brokers, to ensure that the actual user code stays agnostic to the type of broker used.
So yes, you can swap the binder from A to B without introducing any changes to your code. You may need to change some configuration parameters (e.g., broker URL, port etc). For more details please visit the project website which provides a very good summary of the capabilities of the framework as well as links to detailed documentation.
add a comment |
The main goal of the spring-cloud-stream framework is to provide transparent binding capabilities to to a variety of external system and message brokers, to ensure that the actual user code stays agnostic to the type of broker used.
So yes, you can swap the binder from A to B without introducing any changes to your code. You may need to change some configuration parameters (e.g., broker URL, port etc). For more details please visit the project website which provides a very good summary of the capabilities of the framework as well as links to detailed documentation.
The main goal of the spring-cloud-stream framework is to provide transparent binding capabilities to to a variety of external system and message brokers, to ensure that the actual user code stays agnostic to the type of broker used.
So yes, you can swap the binder from A to B without introducing any changes to your code. You may need to change some configuration parameters (e.g., broker URL, port etc). For more details please visit the project website which provides a very good summary of the capabilities of the framework as well as links to detailed documentation.
answered Nov 26 '18 at 8:14
Oleg ZhurakouskyOleg Zhurakousky
2,09279
2,09279
add a comment |
add a comment |
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%2f53464956%2fspring-cloud-stream-application-messaging-system-portability%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
1
Is your question really just asking what the Classpath means? For example, let's say you have no Kafka code, it's for IBM or Rabbit, then you start to try to use Spring Kafka classes in the code, then you'll get compilation errors because theyre not found... So you need to add Kafka libraries to your classpath, and port parts of the code to use them
– cricket_007
Nov 25 '18 at 16:26
Another question is do i need to change my implementation code to shift from ibm mq to kafka?
– Aditya Ekbote
Nov 25 '18 at 16:41
I don't have experience with Spring Kafka, but at the very least, I think there's different annotations for "hooking up" Kafka settings, so yes
– cricket_007
Nov 25 '18 at 17:50
Alternatively, you can keep your IBM MQ code, and use Kafka Connect to move messages directly into Kafka docs.confluent.io/current/connect/kafka-connect-ibmmq/…
– cricket_007
Nov 25 '18 at 17:51