Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISPN-5903 Spring split #3799

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 6 additions & 1 deletion bom/pom.xml
Expand Up @@ -238,7 +238,12 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4</artifactId>
<artifactId>infinispan-spring4-remote</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-embedded</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Expand Down
7 changes: 6 additions & 1 deletion distribution/pom.xml
Expand Up @@ -91,7 +91,12 @@

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4</artifactId>
<artifactId>infinispan-spring4-embedded</artifactId>
</dependency>

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-remote</artifactId>
</dependency>

<dependency>
Expand Down
3 changes: 3 additions & 0 deletions documentation/src/main/asciidoc/upgrading/upgrading.adoc
Expand Up @@ -13,6 +13,9 @@ This guide walks you through the process of upgrading Infinispan.
==== CDI module split
CDI module (GroupId:ArtifactId `org.infinispan:infinispan-cdi`) has been split into `org.infinispan:infinispan-cdi-embedded` and `org.infinispan:infinispan-cdi-remote`. Please make sure that you use proper artifact.

==== Spring module split
Spring module (GroupId:ArtifactId `org.infinispan:infinispan-spring4`) has been split into `org.infinispan:infinispan-spring4-embedded` and `org.infinispan:infinispan-spring4-remote`. Please make sure that you use proper artifact.


== Upgrading from 7.x to 8.0
=== Configuration changes
Expand Down
12 changes: 11 additions & 1 deletion javadoc/pom.xml
Expand Up @@ -91,7 +91,17 @@

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4</artifactId>
<artifactId>infinispan-spring4-commons</artifactId>
</dependency>

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-embedded</artifactId>
</dependency>

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-remote</artifactId>
</dependency>

<dependency>
Expand Down
33 changes: 33 additions & 0 deletions parent/pom.xml
Expand Up @@ -380,6 +380,39 @@
<artifactId>infinispan-osgi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-common</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-remote</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-remote</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-embedded</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-spring4-embedded</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
Expand Down
3 changes: 3 additions & 0 deletions pom.xml
Expand Up @@ -57,6 +57,9 @@
<module>osgi</module>
<module>spring/spring</module>
<module>spring/spring4</module>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some inconsistency: spring/spring4/pom.xml is never referenced directly by any reactor and therefore it doesn't get "installed" into the repository

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's intentional. spring/spring4/pom.xml is a parent pom for Spring 4 modules which doesn't need to be built at all. It just makes things a little bit easier when importing the project into IDE.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, if I then create an application which depends on spring4-embedded it won't find the parent pom in the repository

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point - I haven't thought about it... Fix is right away.

<module>spring/spring4/spring4-common</module>
<module>spring/spring4/spring4-embedded</module>
<module>spring/spring4/spring4-remote</module>
<module>cli/cli-interpreter</module>
<module>cli/cli-client</module>
<module>scripting</module>
Expand Down
223 changes: 28 additions & 195 deletions spring/spring4/pom.xml
@@ -1,5 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<modelVersion>4.0.0</modelVersion>

<parent>
Expand All @@ -9,42 +11,36 @@
<relativePath>../../parent/pom.xml</relativePath>
</parent>

<artifactId>infinispan-spring4</artifactId>
<packaging>bundle</packaging>
<artifactId>infinispan-spring4-parent</artifactId>
<name>Infinispan Spring support</name>
<packaging>pom</packaging>

<name>Infinispan Spring 4 Integration</name>
<description>

The Infinispan Spring Integration project provides Spring
integration for Infinispan, a high performance distributed cache.
Its primary features are
The Infinispan Spring Integration project provides Spring
integration for Infinispan, a high performance distributed cache.
Its primary features are

* An implementation of org.springframework.cache.CacheManager,
Spring's central caching abstraction, backed by Infinispan's
EmbeddedCacheManager. To be used if your Spring-powered
application and Infinispan are colocated, i.e. running within
the same VM.
* An implementation of org.springframework.cache.CacheManager
backed by Infinispan's RemoteCacheManager. To bes used if your
Spring-powered application accesses Infinispan remotely, i.e.
over the network.
* An implementation of org.springframework.cache.CacheManager
backed by a CacheContainer reference. To be used if your Spring-
powered application needs access to a CacheContainer defined
outside the application (e.g. retrieved from JNDI)
* Spring namespace support allowing shortcut definitions for all the
components above
* An implementation of org.springframework.cache.CacheManager,
Spring's central caching abstraction, backed by Infinispan's
EmbeddedCacheManager. To be used if your Spring-powered
application and Infinispan are colocated, i.e. running within
the same VM.
* An implementation of org.springframework.cache.CacheManager
backed by Infinispan's RemoteCacheManager. To bes used if your
Spring-powered application accesses Infinispan remotely, i.e.
over the network.
* An implementation of org.springframework.cache.CacheManager
backed by a CacheContainer reference. To be used if your Spring-
powered application needs access to a CacheContainer defined
outside the application (e.g. retrieved from JNDI)
* Spring namespace support allowing shortcut definitions for all the
components above

In addition, Infinispan Spring Integration offers various FactoryBeans
for facilitating creation of Infinispan core classes - Cache, CacheManager,
... - within a Spring context.

In addition, Infinispan Spring Integration offers various FactoryBeans
for facilitating creation of Infinispan core classes - Cache, CacheManager,
... - within a Spring context.
</description>

<properties>
<infinispan.test.parallel.threads>1</infinispan.test.parallel.threads>
</properties>

<developers>
<developer>
<id>obergner</id>
Expand Down Expand Up @@ -92,167 +88,4 @@
</dependencies>
</dependencyManagement>

<dependencies>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-core</artifactId>
</dependency>

<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-client-hotrod</artifactId>
<scope>compile</scope>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
</exclusion>
</exclusions>
</dependency>


<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.jgroups</groupId>
<artifactId>jgroups</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.jboss.marshalling</groupId>
<artifactId>jboss-marshalling-osgi</artifactId>
<scope>runtime</scope>
</dependency>


<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-core</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-client-hotrod</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-server-hotrod</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>infinispan-server-hotrod</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/infinispan-spring-${infinispan.core.schema.version}.xsd</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>**/infinispan-spring-*.xsd</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Export-Package>
${project.groupId}.spring.*;version=${project.version};-split-package:=error
</Export-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>

</project>
</project>
4 changes: 4 additions & 0 deletions spring/spring4/spring4-common/README.md
@@ -0,0 +1,4 @@
Infinispan Spring support common module
====================================

This module is not meant to be used individually. It only contains classes common to Remote and Embedded which are attached as sources to those modules.