How to share spring context with apache beam tranform? - spring-data-jpa

Can Apache Beam Pipeline have spring context?
Can Transform use spring JPA repository to fetch the data from database?
How to share spring context with each transform in apache beam

Related

http4s configuration from spring cloud config server

We have a rest microservice developed using scala http4s. We want to externalize configuration for this microservice like we do in spring boot ecosystem.
Can this be done in Scala Http4s where they can refer a spring cloud config server? Is there any other to do in Scala?

How to integrate Spring Batch ( without Spring Boot ) with Spring Cloud Data Flow Server

We are running spring batch with jboss application server (therefore cant run it as spring boot app). Is there any integration options for monitoring/administering spring batch with Spring Cloud DataFlowServer for the spring batch running in Jboss container ?
I had a similar issue where I was using spring batch with a weblogic 12.2.1.4 application server and wanted an admin console to view the status of job executions. Spring Cloud Data Flow was not suitable for my requirement. I ended up forking the old spring-batch-admin project and upgrading it to work with the latest version of spring batch and spring boot libraries. My forked git repo is here. I include this as a dependency in my war file that i deploy to weblogic and it provides the spring batch admin functionality, embedded in my application.

Apache Kafka vs Kafka Streams

When I create a Spring Project on the selected dependencies screen under the Messaging section I see Spring for Apache Kafka and Spring for Apache Kafka Streams. What is the difference between these two?

Spring support for Apache Geode (spring-data-geode)

Could you please tell where to find out spring-data packages for Apache Geode? There is a spring-data-gemfire project that produces regular releases for Pivotal Gemfire. spring-data-geode is supposed to be a part of this project but I am not able to find out any information about. There is just one artifact with version 1.0.0.INCUBATING-RELEASE in Maven Central.
Thanks in advance,
Vadim
Excellent question!
There is a Spring Data Geode project, and you are correct, the latest version of Spring Data Geode is 1.0.0.INCUBATING-RELEASE (as seen in Maven Central). That particular version of SD Geode is based on Apache Geode 1.0.0-incubating, matching on version so users are clear which version of Apache Geode they get when declaring a dependency on SD Geode.
Being the Spring Data Geode project lead, I am acutely aware that Apache Geode released a 1.1.0 version at the end of February with a follow up 1.1.1 patch release in March (see Releases on the Apache Geode page).
Additionally, it has been sometime since I have cut a new release of Spring Data Geode to match the current version of Apache Geode (i.e. 1.1.1). There are several reasons for this...
First, I am in the process of enhancing Spring Data Geode's new Annotation-based configuration model (Spring Boot style) to allow for dynamic configuration of key Annotation attributes (think port numbers used between clients and servers for instance) when using the Annotations while still preserving the strongly-typed nature of the attributes (i.e. not all Strings). In a nutshell, I am accomplishing this with a standard convention often used in Spring, "Configurers", as well as "well-known and documented" properties rather than my previous intention (Property Placeholders and SpEL Expressions in Annotation attributes, which then would require them to be Strings, yuck).
NOTE: The beginnings of this new Annotation model in SD Geode and GemFire was described in 1 of my blogs. A subsequent follow-up blog entry specifically covered Annotation support for Geode's new Integrated Security Framework.
Second, I added support in SD Geode for Apache Geode's Lucene Integration.
Lastly, Spring Data Geode used to exist in the apache-geode branch in the Spring Data GemFire's GitHub Repository. However, since the last SD Geode release (i.e. 1.0.0.INCUBATING-RELEASE), #Oliver Gierke (Spring Data Team Lead) has agreed to make Spring Data Geode a top-level Spring Data project, like Spring Data GemFire, and so, Spring Data Geode will join the Spring Data Release Train, hopefully in the next Spring Data Kay Milestone 4 (M4) release. However, this depends entirely on the upcoming Apache Geode 1.2.0 release being released, first. As you can see, there is already a dedicated GitHub Repository specifically for the Spring Data Geode project now.
NOTE: While all my doc references here have been to Spring Data GemFire, they equally apply to Spring Data Geode, especially as of the Spring Data GemFire 2.0.0 Milestone releases (SD Kay) since SD GemFire is based on Pivotal GemFire 9.x, which is based on Apache Geode 1.0.0-incubating.
This means several things...
First, and most importantly, Spring Data Geode will have its own spring.io project page (under Spring Data) and its own documentation, separate from Spring Data GemFire, identifying it as separate/individual and proper Spring Data project.
Second, there are many things changing in Spring Data... alignment with Java 8, core Spring Framework 5 for Reactive/Functional architectures and significant changes in Spring Data itself. See the "core themes" in SD Kay for more details. As such, Spring Data Geode based on Apache Geode 1.2.0 will be at version 2.0.0 (unlike Apache Geode), therefore, the version numbers between Spring Data Geode and Apache Geode going forward will no longer align.
However, on positive note, once in place, Spring Data Geode will move at a predictable release cadence along with the rest of the Spring Data modules, including Spring Data GemFire. This means there will be a transition period to get all the bits in order though, and hence this seemingly gap in Spring support for the latest version of Apache Geode (i.e. 1.1.1).
Having said that, I am still planning to release 1 more individual Spring Data Geode release (i.e. 1.1.1.RELEASE) based Apache Geode 1.1.1, hopefully soon.
In the interim, you can use the Spring Data Geode 1.0.0.INCUBATING-RELEASE with the latest version of Apache Geode (i.e. 1.1.1) without incident by simply including the SD Geode 1.0.0.INCUBATING-RELEASE dependency and declaring a direct dependency on Apache Geode 1.1.1, which will override the version of Apache Geode pulled in by SD Geode, in your application POM file like so...
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-geode</artifactId>
<version>1.0.0.INCUBATING-RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.geode</groupId>
<artifactId>geode-core</artifactId>
<version>1.1.1</version>
</dependency>
<!-- along with any other geode dependencies you need -->
Anyway, hope this helps and I am sorry about the delay; juggling many priorities at the moment.
Cheers,
John

Using Spring Data Neo4j outside of Spring container

Can Spring Data Neo4j be used "standalone" (i.e. outside Spring container) like Spring Data JPA can?
Currently you cannot use Spring Data Neo4j outside of a Spring Container as it does not integrate with the CDI integration support in Spring Data Commons yet.
Feel free to open a JIRA issue if you'd like to see support for that.