1

We are designing a new project which will be using Spring-boot and Maven (i.e. Multi-module project).

The project will interact with several external applications (JMS, REST, DB). Hence, we will have modules like JMSConnector, RESTApiProxy.

For module implementation and for reuse aims, which concept we use: simple maven module or a custom spring-boot starter ?

Katy
  • 1,023
  • 7
  • 19
  • 1
    You can go either way. Having a simple maven module and the starter for it is also a possibility. – pmverma Dec 13 '19 at 04:55
  • In which way you would like to make reuse? From this modules you have mentioned? – khmarbaise Dec 13 '19 at 09:52
  • @Khmarbaise, for example the JMS module can be cross microservices. No need to have duplicate implementations of the message consumer or message sender. Common libraries can be reused as well. – Katy Dec 13 '19 at 11:09
  • Of course makes sense. There are in general two solutions either make a separate project of the JMS part and release it independent or integration into another project as a child module which will couple that to that project...usually I would recommend to make separate project of it... – khmarbaise Dec 13 '19 at 15:05

1 Answers1

1

That's a really interesting question, I've pondered it many times. Currently I would choose simple maven module when that module can be used in non-spring boot environment (or it's "commons" module with various stuff). Otherwise I'd go for spring boot starter.

jirka.pinkas
  • 918
  • 6
  • 21
  • 1
    Thanks @jirka.pinkas for your answer. However, I was wondering that the question takes more reputation in order to get different side opinions. Unfortunately, it wasn’t upvoted. – Katy Dec 15 '19 at 21:25