How does one update the version of Hibernate that SCDF uses? - spring-cloud-dataflow

I am trying to get Spring Cloud DataFlow to work with CockroachDB as its persistence layer.
The problem that I have is that CockroachDB does not support the PostgreSQL Large Object server-side functions (e.g. lo_create) which the default postgreSQL dialect for Hibernate employs when registering apps in SCDF.
As of Hibernate ORM 5.4.19 a new dialect specifically for CockroachDB is now supported. However, the version of Hibernate SCDF uses is too outdated and doesn't contain this dialect.
My problem now is how do I inject the newer version of Hibernate into SCDF? I tried launching SCDF via a Spring Boot app that overrides the version of Hibernate - but failed at this miserably and from what I can glean from the other questions, is not really supported anymore anyways (?)

SCDF 2.8.0-SNAPSHOT uses version 5.4.22.Final of Hibernate which supports the CockroachDB201Dialect

I'd recommend trying 2.7.x snapshots(or 2.7.0-M2 sometime next week) as that is on latest framework/boot versions which pulls hibernate 5.4.21. 2.6.x line will get updates with a next maintenance release.
Custom builds are a bit pain to handle and we would not recommend changing anything core stuff what's directly coming from a framework deps.

Related

Can i upgrade directly from Grails 2.x to Grails 4.x bypassing all median levels

I am having an application build on grails 2.2.4. I need to update it to grails 4.0.8 Can i upgrade directly. As i checked from various sources, i need to jump first from 2.2.4 to 3.x then thereafter 3.x to 4.x. Please suggest me optimum way to do this upgrade.
Similar to other question about Grails upgrades
Major version upgrades in Grails are rarely trivial. I'd suggest starting a new app in the target version, and migrating classes/functionalities.
In Grails framework, the effort required to update your application depends on multiple factors, such as:
The standard practices. For instance, the persistence stuff in the Grails services instead of controller or domains itself.
The underline plugins your application depends on. You would need to update to the latest version of the plugin, or in some case find an alternative approaches as the plugin may longer be maintained, or there maybe better ways of doing it. For instance, we had some custom plugin for multi-tenancy back when I started with Grails, But now, GORM has great support for multi-tenancy.
I personally think you should directly jump from Grails 2 to Grails 4 by creating a new application, and then move your source code. But, first you need to identify all the variables such as plugins or libraries.

Neo4j 4.x gremlin support

I have an application which loads some external data based on gremlin.
I want to use it to load the data into a Neo4j database.
I saw that there was partial support for gremlin in previous versions but couldn't find any solution for latest version.
I'll be happy to hear if it is still possible and how can it be done.
At this point, TinkerPop expects to support 3.4.11 in its future 3.5.0 release (here) which is yet several months away. For TinkerPop to support 4.0 it would need a fresh release of the neo4j-tinkerpop-api-impl to be released with that version. It seems an issue has been created for that here.

Grails upgrade from 1.2.2 to version that supports multiple datasources

I have several applications created with grails 1.2.2. I need to modify one of these applications to work with multiple datasources. It seems that my best option is to upgrade to a new version of grails. I'm worried that trying to go straight to grails 3 will cause major issues, but am not sure which versions to step through if I'm going to upgrade gradually. Any advice? I apologize for this being so open ended.
The first info about support for multiple databases in official docs exists in version 2.0.0:
http://docs.grails.org/2.0.0/guide/conf.html#multipleDatasources
Check out this guide for upgrade:
http://docs.grails.org/2.0.0/guide/gettingStarted.html#upgradingFromPreviousVersionsOfGrails

Can I use Spring Data Neo4j 4.0.0 on an embedded neo4j database?

I understand that was possible in previous versions, and I also understand that version 4.0.0 is a total redesign towards a server-first approach, but nowhere in the documentation it is said whether embedded mode is supported.
4.0.0.RELEASE is server only. Embedded support will be available in a future release.

Which Grails version is more compatible with current plugins list?

I'm trying with the 2.5.0 release of Grails but I have had problems of compatibility with some plugins I've tried (for example searchable)
Which version of Grails you recommend to start a new project? I'd like to start with the version more compatible with the list of current Grails plugins https://grails.org/plugins/
I'm not interested with the newer version but with the most compatible/stable with the current plugins list.
Both 2.4.x and 2.5.x will work fine with the current plugins in general.
Without any details it's hard to know why the searchable plugin isn't working for you, but note that it only works with Hibernate 3 and the default in new Grails apps is to use Hibernate 4. But you can see that the Hibernate 3 configuration settings are commented out in BuildConfig.groovy and DataSource.groovy so you can easily change back to Hibernate 3.
Having said that, don't use searchable. The underlying Compass library is no longer maintained, and using the searchable plugin will cause scaling problems because it's very inconvenient to get it to use a shared index between servers. The author of Compass created Elasticsearch, and that's a much better option. There's also an actively maintained plugin for it.

Resources