Jetty 9.4.x 3609 more infinispan module refactor (#3638)

* Issue #3609 Refactor infinispan modules

Signed-off-by: Jan Bartel <janb@webtide.com>
This commit is contained in:
Jan Bartel 2019-05-09 15:07:03 +02:00 committed by GitHub
parent 45468988ea
commit e7801ffbcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 323 additions and 62 deletions

View File

@ -12,7 +12,7 @@ lib/infinispan-common-${jetty.version}.jar
lib/infinispan/*.jar
[ini]
infinispan.version?=9.1.0.Final
infinispan.version?=9.4.8.Final
[license]
Infinispan is an open source project hosted on Github and released under the Apache 2.0 license.

View File

@ -67,8 +67,8 @@
</goals>
<configuration>
<tasks>
<concat destfile="${project.build.directory}/infinispan-query-libs.mod">
<fileset file="src/main/config-template/modules/infinispan-query-libs.mod"/>
<concat destfile="${project.build.directory}/infinispan-embedded-query-libs.mod">
<fileset file="src/main/config-template/modules/sessions/infinispan/embedded/infinispan-embedded-query-libs.mod"/>
<fileset file="${project.build.directory}/deps.txt"/>
</concat>
</tasks>

View File

@ -13,14 +13,14 @@
<include>**</include>
</includes>
<excludes>
<exclude>**/infinispan-query-libs.mod</exclude>
<exclude>**/infinispan-embedded-query-libs.mod</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>modules</outputDirectory>
<outputDirectory>modules/sessions/infinispan/embedded</outputDirectory>
<includes>
<include>infinispan-query-libs.mod</include>
<include>infinispan-embedded-query-libs.mod</include>
</includes>
</fileSet>
</fileSets>

View File

@ -7,6 +7,9 @@ session
[provides]
infinispan-embedded
[depends]
sessions/infinispan/embedded/infinispan-embedded-query-libs
[lib]
lib/infinispan/*.jar
lib/infinispan-embedded-query-${jetty.version}.jar

View File

@ -1,11 +0,0 @@
[description]
The Infinispan query libraries
[tags]
3rdparty
infinispan
[depends]
infinispan-query

View File

@ -1,16 +1,14 @@
[description]
Enables querying with the Infinispan cache
The Infinispan query libraries
[tags]
session
3rdparty
infinispan
[license]
Infinispan is an open source project hosted on Github and released under the Apache 2.0 license.
http://infinispan.org/
http://www.apache.org/licenses/LICENSE-2.0.html
[ini]
## Hide the infinispan libraries from deployed webapps
jetty.webapp.addServerClasses+=,${jetty.base.uri}/lib/infinispan/

View File

@ -15,6 +15,69 @@
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>build-deps-file</id>
<phase>generate-resources</phase>
<goals>
<goal>list</goal>
</goals>
<configuration>
<appendOutput>false</appendOutput>
<outputFile>${project.build.directory}/deps.txt</outputFile>
<sort>true</sort>
<excludeGroupIds>org.eclipse.jetty,javax.servlet,org.slf4j</excludeGroupIds>
<prependGroupId>true</prependGroupId>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>process-deps</id>
<phase>process-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<replaceregexp file="${project.build.directory}/deps.txt"
match=" *(.*):(.*):jar:(.*):.*$"
replace="maven://\1/\2/\3|lib/infinispan/\2-\3.jar"
byline="true"
/>
<replaceregexp file="${project.build.directory}/deps.txt"
match="The following files have been resolved:"
replace="[files]"
/>
</tasks>
</configuration>
</execution>
<execution>
<id>process-mod</id>
<phase>process-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<concat destfile="${project.build.directory}/infinispan-embedded-libs.mod">
<fileset file="src/main/config-templates/modules/sessions/infinispan/embedded/infinispan-embedded-libs.mod"/>
<fileset file="${project.build.directory}/deps.txt"/>
</concat>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
@ -25,9 +88,9 @@
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>config</descriptorRef>
</descriptorRefs>
<descriptors>
<descriptor>src/main/assembly/config.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
@ -40,5 +103,10 @@
<artifactId>infinispan-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-core</artifactId>
<version>${infinispan.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<id>config</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/config-templates</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/infinispan-embedded-libs.mod</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>modules/sessions/infinispan/embedded</outputDirectory>
<includes>
<include>infinispan-embedded-libs.mod</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@ -8,12 +8,12 @@ session
session-store
[depend]
infinispan-common
sessions/infinispan/infinispan-common
infinispan-embedded
infinispan-query-libs
sessions/infinispan/embedded/infinispan-embedded-libs
[files]
basehome:modules/session-store-infinispan-embedded/infinispan.xml|etc/infinispan.xml
basehome:modules/sessions/infinispan/embedded/infinispan.xml|etc/infinispan.xml
[ini]
infinispan.version?=9.4.8.Final

View File

@ -1,16 +1,16 @@
[description]
Enables querying with a remote Infinispan cache
The Infinispan embedded libraries
[tags]
session
3rdparty
infinispan
[depends]
sessions/infinispan/embedded/infinispan-embedded-serverclasses
[license]
Infinispan is an open source project hosted on Github and released under the Apache 2.0 license.
http://infinispan.org/
http://www.apache.org/licenses/LICENSE-2.0.html
[ini]
## Hide the infinispan libraries from deployed webapps
jetty.webapp.addServerClasses+=,${jetty.base.uri}/lib/infinispan/

View File

@ -0,0 +1,12 @@
[description]
Hides Infinispan classes from webapp.
[tags]
session
3rdparty
infinispan
[ini]
## Hide the infinispan libraries from deployed webapps
jetty.webapp.addServerClasses+=,${jetty.base.uri}/lib/infinispan/

View File

@ -73,8 +73,8 @@
<configuration>
<tasks>
<concat destfile="${project.build.directory}/infinispan-remote-query-libs.mod">
<fileset file="src/main/config-template/modules/infinispan-remote-query-libs.mod"/>
<fileset file="${project.build.directory}/deps.txt"/>
<fileset file="src/main/config-template/modules/sessions/infinispan/remote/infinispan-remote-query-libs.mod"/>
<fileset file="${project.build.directory}/deps.txt"/>
</concat>
</tasks>
</configuration>

View File

@ -18,7 +18,7 @@
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>modules</outputDirectory>
<outputDirectory>modules/sessions/infinispan/remote</outputDirectory>
<includes>
<include>infinispan-remote-query-libs.mod</include>
</includes>

View File

@ -4,7 +4,7 @@
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- ===================================================================== -->
<!-- Get a reference to the remote cache manager. -->
<!-- Set up support for queries and index on session expiry time. -->
<!-- ===================================================================== -->
<New id="mapping" class="org.hibernate.search.cfg.SearchMapping">
<Call name="entity">
@ -35,6 +35,10 @@
</Call>
</New>
<!-- ===================================================================== -->
<!-- Convert properties to configuration. -->
<!-- ===================================================================== -->
<New class="org.infinispan.client.hotrod.configuration.ConfigurationBuilder">
<Call name="withProperties">
<Arg><Ref refid="properties"/></Arg>
@ -46,11 +50,17 @@
</Call>
<Call id="config" name="build"/>
</New>
<!-- ===================================================================== -->
<!-- Get a reference to the remote cachemanager. -->
<!-- ===================================================================== -->
<New id="remoteCacheManager" class="org.infinispan.client.hotrod.RemoteCacheManager">
<Arg><Ref refid="config"/></Arg>
</New>
<!-- ===================================================================== -->
<!-- Set up custom session serialization. -->
<!-- ===================================================================== -->
<Call id="serial_context" class="org.infinispan.client.hotrod.marshall.ProtoStreamMarshaller" name="getSerializationContext">
<Arg>
<Ref refid="remoteCacheManager"/>
@ -77,14 +87,16 @@
<!-- ===================================================================== -->
<!-- Get a reference to the remote cache. -->
<!-- ===================================================================== -->
<!-- ===================================================================== -->
<Ref refid="remoteCacheManager">
<Call id="cache" name="getCache">
<Arg><Property name="jetty.session.infinispan.remoteCacheName" default="sessions"/></Arg>
</Call>
</Ref>
<!-- set queryMgrFactory reference to RemoteQueryManagerFactory -->
<!-- ===================================================================== -->
<!-- Set queryMgrFactory reference to RemoteQueryManagerFactory -->
<!-- ===================================================================== -->
<New id="queryMgrFactory" class="org.eclipse.jetty.session.infinispan.RemoteQueryManagerFactory"/>
</Configure>

View File

@ -1,11 +0,0 @@
[description]
The Infinispan remote query libraries
[tags]
3rdparty
infinispan
[depends]
infinispan-remote-query-serverclasses

View File

@ -7,9 +7,11 @@ session
[provides]
infinispan-remote
[depends]
sessions/infinispan/remote/infinispan-remote-query-libs
[files]
basehome:modules/infinispan-remote-query/hotrod-client.properties|resources/hotrod-client.properties
basehome:modules/infinispan-remote-query/other_proto_marshallers.xml|etc/other_proto_marshallers.xml
basehome:modules/sessions/infinispan/remote/other_proto_marshallers.xml|etc/other_proto_marshallers.xml
[lib]
lib/infinispan-remote-query-${jetty.version}.jar

View File

@ -0,0 +1,13 @@
[description]
The Infinispan remote query libraries
[tags]
3rdparty
infinispan
[license]
Infinispan is an open source project hosted on Github and released under the Apache 2.0 license.
http://infinispan.org/
http://www.apache.org/licenses/LICENSE-2.0.html

View File

@ -15,6 +15,74 @@
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>build-deps-file</id>
<phase>generate-resources</phase>
<goals>
<goal>list</goal>
</goals>
<configuration>
<appendOutput>false</appendOutput>
<outputFile>${project.build.directory}/deps.txt</outputFile>
<sort>true</sort>
<excludeGroupIds>org.eclipse.jetty,javax.servlet</excludeGroupIds>
<prependGroupId>true</prependGroupId>
<includeScope>provided</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>process-deps</id>
<phase>process-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<replaceregexp file="${project.build.directory}/deps.txt"
match=" *(.*):(.*):jar:(.*):(.*):.*$"
replace="maven://\1/\2/\4/jar/\3|lib/infinispan/\2-\3-\4.jar"
byline="true"
/>
<replaceregexp file="${project.build.directory}/deps.txt"
match=" *(.*):(.*):jar:(.*):.*$"
replace="maven://\1/\2/\3|lib/infinispan/\2-\3.jar"
byline="true"
/>
<replaceregexp file="${project.build.directory}/deps.txt"
match="The following files have been resolved:"
replace="[files]"
/>
</tasks>
</configuration>
</execution>
<execution>
<id>process-mod</id>
<phase>process-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<concat destfile="${project.build.directory}/infinispan-remote-libs.mod">
<fileset file="src/main/config-template/modules/sessions/infinispan/remote/infinispan-remote-libs.mod"/>
<fileset file="${project.build.directory}/deps.txt"/>
</concat>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
@ -25,9 +93,9 @@
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>config</descriptorRef>
</descriptorRefs>
<descriptors>
<descriptor>src/main/assembly/config.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
@ -40,5 +108,23 @@
<artifactId>infinispan-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-client-hotrod</artifactId>
<version>${infinispan.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-remote-query-client</artifactId>
<version>${infinispan.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.infinispan.protostream</groupId>
<artifactId>protostream</artifactId>
<version>4.2.2.Final</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<id>config</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/config-template</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/infinispan-remote-libs.mod</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>modules/sessions/infinispan/remote</outputDirectory>
<includes>
<include>infinispan-remote-libs.mod</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@ -32,13 +32,16 @@
</New>
<!-- ===================================================================== -->
<!-- Get a reference to the remote cache. -->
<!-- Get a reference to the remote cachemanager. -->
<!-- ===================================================================== -->
<New id="hotrodMgr" class="org.infinispan.client.hotrod.RemoteCacheManager">
<Arg><Ref refid="config"/></Arg>
</New>
<!-- ===================================================================== -->
<!-- Set up custom session serialization. -->
<!-- ===================================================================== -->
<Call id="serial_context" class="org.infinispan.client.hotrod.marshall.ProtoStreamMarshaller" name="getSerializationContext">
<Arg>
<Ref refid="hotrodMgr"/>
@ -64,13 +67,18 @@
</Call>
<!-- ===================================================================== -->
<!-- Get a reference to the remote cache. -->
<!-- ===================================================================== -->
<Ref refid="hotrodMgr">
<Call id="cache" name="getCache">
<Arg><Property name="jetty.session.infinispan.remoteCacheName" default="sessions"/></Arg>
</Call>
</Ref>
<!-- set queryMgrFactory reference to NullQueryManagerFactory -->
<!-- ===================================================================== -->
<!-- Set queryMgrFactory reference to NullQueryManagerFactory -->
<!-- ===================================================================== -->
<New id="queryMgrFactory" class="org.eclipse.jetty.session.infinispan.NullQueryManagerFactory"/>
</Configure>

View File

@ -8,12 +8,12 @@ session
session-store
[depend]
infinispan-common
sessions/infinispan/infinispan-common
infinispan-remote
infinispan-remote-query-libs
sessions/infinispan/remote/infinispan-remote-libs
[files]
basehome:modules/session-store-infinispan-remote/resources/hotrod-client.properties|resources/hotrod-client.properties
basehome:modules/sessions/infinispan/remote/resources/hotrod-client.properties|resources/hotrod-client.properties
[ini]
infinispan.version?=9.4.8.Final

View File

@ -0,0 +1,16 @@
[description]
The Infinispan remote libs
[tags]
3rdparty
infinispan
[depends]
sessions/infinispan/remote/infinispan-remote-serverclasses
[license]
Infinispan is an open source project hosted on Github and released under the Apache 2.0 license.
http://infinispan.org/
http://www.apache.org/licenses/LICENSE-2.0.html

View File

@ -0,0 +1,12 @@
[description]
Hides Infinispan classes from webapp.
[tags]
session
3rdparty
infinispan
[ini]
## Hide the infinispan libraries from deployed webapps
jetty.webapp.addServerClasses+=,${jetty.base.uri}/lib/infinispan/