Compatibility jhipster microservices 4.6.0 & 5.2.1 & 6.x.x - java

we have microservices with 4.9.0 and with 5.2.1 and now we want create new microservices with 6.x.x is recommended have microservices with differents versions in the same registry?
We dont upgrade because we tried and is impossible we have a lot of code yet in old microservices.
And in gateway is imposible migrate angular 4 to angular 6 with our quantity of code.

I have successfully used a recent registry with gateways and services generated by JHipster 3.9.0. Eureka REST API is quite stable. I have upgraded manually some services from Spring Boot 1.3 to 1.5 in order to be able to use hazelcast-eureka-one that required a more recent version of Spring Cloud.
I don't understand why you say it's impossible, unless you want to use jhipster upgrade or you don't have a good test coverage.
I don't plan to use jhipster upgrade at all, it would be a waste of time because of too many major versions until current. I prefer to copy my .yo-rc.json and JDL to a blank folder and generate with latest version of JHipster and then pick up what I need, step by step.
Upgrading from Angular 4 to 6 is easy, it should not be a problem for your team.
Overall, I don't see it as a JHipster problem, it's the same as if we had started from scratch without a generator.

Related

Best practice while upgrading java version on plugins

We have several inhouse built plugins which we use in our spring boot based microservices. I want to upgrade those plugins to use java 11 and higher gradle version but some of our services are still using java8 and lower gradle version.
I want to see if anyone has experience with this and have any recommendation. Can the plugins be updated without any side effect or the service utilizing the plugin or should they be upgraded as well
Tried to upgrade the plugin without upgrading the service which is utilizing it. I am not seeing any issues with testing yet but want to do more research before releasing the service.

Upgrade to Elasticsearch 8 from 7.16

We deploy standalone ES pods and I saw that the system requirements say that Java 17 or higher is to be used. The java applications (separate pods of course) depending on ES are still on java 8 and we have no intention of upgrading the java version anytime soon. I wanted to confirm with the community at large if they faced issues any issues calling ES from applications on java 8? We are using the standard ES java libraries
org.elasticsearch.client:elasticsearch-rest-client
org.elasticsearch.plugin:parent-join-client
org.elasticsearch:elasticsearch-core
org.elasticsearch:elasticsearch
org.elasticsearch.client:elasticsearch-rest-high-level-client
I know restHighLevelClient is deprecated but we depend on spring-data-elasticsearch to provide some of the integration support.
I don't have enough reputation to add comment. I have similar problem on the upgrade. Here is from readme https://github.com/spring-projects/spring-data-elasticsearch
In Elasticsearch 8, the RestHighLevelCLient has been removed. This means that a switch to this client version can only be done with the next major upgrade which will be Spring Data Elasticsearch 5, based on Spring Data 3, used by Spring Boot 3, based on Spring 6 and Java 17.
Below has dependencies and upgrade info.
https://www.elastic.co/guide/en/elasticsearch/reference/current/dependencies-versions.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html

Spring Boot application with current elasticsearch version

I've recently tried to include elasticsearch into one of my projects. Therefore I looked up the different possibilities to do so. It basically came down to use either a) the transport client (internal protocol cluster nodes too use to communicate = my understanding) or b) implement it all as REST HTTP calls on my own.
As b) doesn't look like a good option, and I'm used to spring data anyways I tried using spring-data-elasticsearch which was updated recently to version 3.0.0 to support es 5.5.0 which is great as the last version was very old.
Well, I tried everything but didn't manage to get it to work with my project, as this really seems to be some kind of dependency hell you get into. My project is too big, I just can't upgrade it to spring boot 2.0.0M4 which I believe would be required to support the new spring-data-elasticsearch version - right?
So, could somebody please advice on the current and preferred way for now and the future is on how to deal with elasticsearch in spring projects? Do we really have to implement the whole REST API ourselves? Am I missing something?
Here is the REST client which should be used, if there is one used, right?
This is the compatibility chart I know which is old.
Thanks!
Unfortunately there are quite a few options out there:
There's the transport client you have mentioned. While not (yet) deprecated, it's not the way forward and I would not start a new project with it (if possible).
There is the low level REST client (mentioned in the blog post you've linked), which was added in 5.0, but is compatible with older versions as well. While it works, you don't really want to use it, since it's pretty low level (as the name suggests).
The high level REST client has just been released with 5.6 — this is what you want to use going forward (and it will decouple you from a specific Spring Boot / Data version). Right now it only supports the index, delete, aggregate, search, and bulk APIs, but for regular operations this should be enough. More APIs will be added in the future and you can always fall back to the low level client if you need to do other tasks (like setting up a specific mapping for an integration test).
With the release of Spring Data Kay, it also supports Elasticsearch 5.x. If you need to use Spring Data, this is what you'll want to use, but keep in mind that it's a community project and development can be slower than everybody wants (though they do accept pull requests ;-) ). As you've discovered, you'll need to use Spring Boot 2 to have Spring Data Kay built in. This might be a good reason to upgrade or it might be a blocker for you.
How about writing a small service which would be a standalone application in spring boot 2, with the newest ES dependency, and giving it a REST API compatible with your requirements for the rest of the project? You could communicate with it via RestTemplate for starters.
This way you can start breaking up your large project into smaller subprojects and eventually maybe even microservices. Also spring boot 2 has some really nice reactive options, which really come in handy for processing data.

JBPM stable version for production use?

I am working on building a workflow application and I'm planning to use JBPM as my BPM framework. Can anyone suggest me which is the stable version to use in producation environment?
You can try with enterprise release of jBPM which is Red Hat JBoss BPMS. Red Hat will provide hot-fix patches to known issues. Also rollup patches are provided on certain interval, which includes fix for multiple issues. Along with all this you will get 24x7 support for issue.
Just let you know, I have been using jbpm 6.5 with docker in production for 2 months. All work smoothly

Will JBPM4 work with Jboss AS 7.2?

My current application is running with JBPM 4 on JBoss 4.0.3 application server. We are planning to upgrade Jboss AS to 7.2 in the near future and we want to know the compatibility of JBPM4 with Jboss 7.2. We are unable to find useful documentation on compatibility between JBPM 4 and Jboss AS 7.2. Please help.
I wud suggest to migrate jBPM 4 also to latest version (6.X) as i have also worked on 4.x and moved back our application to 3.2.X becuase there was no product support aprat from community(https://developer.jboss.org/thread/150947).
Regarding the documentation and compatibility i think it shud work but again you need to test at your end only.
Post results here so it will be helpfull for other also.

Categories

Resources