You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2017/03/06 11:35:30 UTC
[1/4] polygene-java git commit: ehcache: upgrade to 3.3 ;
optional use of FileConfig for disk overflow
Repository: polygene-java
Updated Branches:
refs/heads/develop f09636df1 -> 46e26e665
ehcache: upgrade to 3.3 ; optional use of FileConfig for disk overflow
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/4d726251
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/4d726251
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/4d726251
Branch: refs/heads/develop
Commit: 4d7262518a0b3fac29f7f8217cf09856e485ecf2
Parents: f09636d
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 11:21:50 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 11:21:50 2017 +0100
----------------------------------------------------------------------
dependencies.gradle | 2 +-
extensions/cache-ehcache/build.gradle | 1 +
.../cache-ehcache/src/docs/cache-ehcache.txt | 3 +
.../cache/ehcache/EhCachePoolMixin.java | 87 ++++++++++++--------
.../polygene/cache/ehcache/EhCacheTest.java | 20 +++--
5 files changed, 73 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/dependencies.gradle
----------------------------------------------------------------------
diff --git a/dependencies.gradle b/dependencies.gradle
index adb7bb6..1188eb0 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -46,7 +46,7 @@ def codahaleMetricsVersion = '3.1.2'
def commonsDbcpVersion = '2.1.1'
def commonsLangVersion = '3.5'
def derbyVersion = '10.13.1.1'
-def ehcacheVersion = '3.1.3'
+def ehcacheVersion = '3.3.0'
def elasticsearchVersion = '5.0.1'
def freemarkerVersion = '2.3.25-incubating'
def geodeVersion = '1.0.0-incubating'
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/build.gradle b/extensions/cache-ehcache/build.gradle
index 279ed20..48bd5a5 100644
--- a/extensions/cache-ehcache/build.gradle
+++ b/extensions/cache-ehcache/build.gradle
@@ -26,6 +26,7 @@ jar { manifest { name = "Apache Polygene\u2122 Extension: EhCache" } }
dependencies {
api polygene.core.bootstrap
+ api polygene.library( 'fileconfig' )
implementation polygene.library( 'constraints' )
implementation libraries.ehcache
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/src/docs/cache-ehcache.txt
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/docs/cache-ehcache.txt b/extensions/cache-ehcache/src/docs/cache-ehcache.txt
index 3ffcfbd..ca462d3 100644
--- a/extensions/cache-ehcache/src/docs/cache-ehcache.txt
+++ b/extensions/cache-ehcache/src/docs/cache-ehcache.txt
@@ -54,3 +54,6 @@ Here are the configuration properties for the EhCache EntityStore Cache:
source=extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCacheConfiguration.java
tag=config
----
+
+Cache overflow to disk may be configured using the <<library-fileconfig>>.
+If the FileConfig library is not in use, then it defaults to a temporary directory in `java.io.tmpdir`.
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java b/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
index ab9c593..dbf9ed4 100644
--- a/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
+++ b/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
@@ -19,13 +19,16 @@
*/
package org.apache.polygene.cache.ehcache;
+import java.io.File;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
-
+import org.apache.polygene.api.common.Optional;
import org.apache.polygene.api.configuration.Configuration;
import org.apache.polygene.api.identity.HasIdentity;
+import org.apache.polygene.api.injection.scope.Service;
import org.apache.polygene.api.injection.scope.This;
+import org.apache.polygene.library.fileconfig.FileConfiguration;
import org.apache.polygene.spi.cache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.CacheConfiguration;
@@ -34,7 +37,8 @@ import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.config.units.MemoryUnit;
import org.ehcache.expiry.Duration;
-import org.ehcache.expiry.Expirations;
+
+import static org.ehcache.expiry.Expirations.*;
public abstract class EhCachePoolMixin
implements EhCachePoolService
@@ -48,30 +52,46 @@ public abstract class EhCachePoolMixin
@This
private Configuration<EhCacheConfiguration> configuration;
+ @Optional
+ @Service
+ private FileConfiguration fileConfiguration;
+
private CacheManager cacheManager;
@Override
public void activateService()
- throws Exception
+ throws Exception
{
- cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
- .withDefaultDiskStoreThreadPool( cacheManagerThreadPoolName( "disk-store" ) )
- .withDefaultEventListenersThreadPool( cacheManagerThreadPoolName( "event-listeners" ) )
- .withDefaultWriteBehindThreadPool( cacheManagerThreadPoolName( "write-behind" ) )
- .build();
+ cacheManager = CacheManagerBuilder
+ .newCacheManagerBuilder()
+ .with( CacheManagerBuilder.persistence( diskStorePath().getAbsolutePath() ) )
+ .withDefaultDiskStoreThreadPool( cacheManagerThreadPoolName( "disk-store" ) )
+ .withDefaultEventListenersThreadPool( cacheManagerThreadPoolName( "event-listeners" ) )
+ .withDefaultWriteBehindThreadPool( cacheManagerThreadPoolName( "write-behind" ) )
+ .build();
cacheManager.init();
}
+ private File diskStorePath()
+ {
+ String stringIdentity = identity.identity().get().toString();
+ if( fileConfiguration != null )
+ {
+ return new File( fileConfiguration.cacheDirectory(), stringIdentity );
+ }
+ return new File( System.getProperty( "java.io.tmpdir" ), stringIdentity );
+ }
+
@Override
public void passivateService()
- throws Exception
+ throws Exception
{
cacheManager.close();
cacheManager = null;
}
@Override
- @SuppressWarnings("unchecked")
+ @SuppressWarnings( "unchecked" )
public <T> Cache<T> fetchCache( String cacheId, Class<T> valueType )
{
// Note: Small bug in Ehcache; If the cache name is an empty String it will actually work until
@@ -92,51 +112,52 @@ public abstract class EhCachePoolMixin
configuration.refresh();
EhCacheConfiguration config = configuration.get();
- ResourcePoolsBuilder poolsBuilder = ResourcePoolsBuilder.newResourcePoolsBuilder()
- .heap( config.heapSize().get(), MemoryUnit.valueOf( config.heapUnit().get() ) );
+ ResourcePoolsBuilder poolsBuilder = ResourcePoolsBuilder.newResourcePoolsBuilder();
+
+ poolsBuilder = poolsBuilder.heap( config.heapSize().get(), MemoryUnit.valueOf( config.heapUnit().get() ) );
+
if( config.offHeapSize().get() != null )
{
- poolsBuilder = poolsBuilder
- .offheap( config.offHeapSize().get(), MemoryUnit.valueOf( config.offHeapUnit().get() ) );
+ poolsBuilder = poolsBuilder.offheap( config.offHeapSize().get(),
+ MemoryUnit.valueOf( config.offHeapUnit().get() ) );
}
if( config.diskSize().get() != null )
{
- poolsBuilder = poolsBuilder
- .disk( config.diskSize().get(), MemoryUnit.valueOf( config.diskUnit().get() ), config.diskPersistent().get() );
+ poolsBuilder = poolsBuilder.disk( config.diskSize().get(),
+ MemoryUnit.valueOf( config.diskUnit().get() ),
+ config.diskPersistent().get() );
}
CacheConfigurationBuilder<String, T> configBuilder = CacheConfigurationBuilder
- .newCacheConfigurationBuilder( String.class, valueType, poolsBuilder );
+ .newCacheConfigurationBuilder( String.class, valueType, poolsBuilder );
if( config.maxObjectSize().get() != null )
{
- configBuilder = configBuilder
- .withSizeOfMaxObjectSize( config.maxObjectSize().get(), MemoryUnit.valueOf( config.maxObjectSizeUnit().get() ) );
+ configBuilder = configBuilder.withSizeOfMaxObjectSize( config.maxObjectSize().get(),
+ MemoryUnit.valueOf( config.maxObjectSizeUnit().get() ) );
}
if( config.maxObjectGraphDepth().get() != null )
{
- configBuilder = configBuilder
- .withSizeOfMaxObjectGraph( config.maxObjectGraphDepth().get() );
+ configBuilder = configBuilder.withSizeOfMaxObjectGraph( config.maxObjectGraphDepth().get() );
}
- switch( config.expiry().get() ) {
+ switch( config.expiry().get() )
+ {
case "TIME_TO_IDLE":
- configBuilder = configBuilder.withExpiry( Expirations.timeToIdleExpiration( Duration.of(
- config.expiryLength().get() == null ? -1L : config.expiryLength().get(),
- TimeUnit.valueOf( config.expiryTimeUnit().get() )
- ) ) );
+ configBuilder = configBuilder.withExpiry( timeToIdleExpiration( Duration.of(
+ config.expiryLength().get() == null ? - 1L : config.expiryLength().get(),
+ TimeUnit.valueOf( config.expiryTimeUnit().get() ) ) ) );
break;
case "TIME_TO_LIVE":
- configBuilder = configBuilder.withExpiry( Expirations.timeToLiveExpiration( Duration.of(
- config.expiryLength().get() == null ? -1L : config.expiryLength().get(),
- TimeUnit.valueOf( config.expiryTimeUnit().get() )
- ) ) );
+ configBuilder = configBuilder.withExpiry( timeToLiveExpiration( Duration.of(
+ config.expiryLength().get() == null ? - 1L : config.expiryLength().get(),
+ TimeUnit.valueOf( config.expiryTimeUnit().get() ) ) ) );
break;
case "NONE":
default:
- configBuilder = configBuilder.withExpiry( Expirations.noExpiration() );
+ configBuilder = configBuilder.withExpiry( noExpiration() );
break;
}
CacheConfiguration<String, T> cacheConfig = configBuilder.build();
- org.ehcache.Cache<String,T> cache = cacheManager.createCache( cacheId, cacheConfig );
+ org.ehcache.Cache<String, T> cache = cacheManager.createCache( cacheId, cacheConfig );
return new EhCacheImpl<>( cacheId, cache, valueType );
}
@@ -154,6 +175,6 @@ public abstract class EhCachePoolMixin
private String cacheManagerThreadPoolName( String name )
{
- return identity.identity().getClass() + "-" + name;
+ return identity.identity().get().toString() + "-" + name;
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java b/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
index f52ba1c..52e6291 100644
--- a/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
+++ b/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
@@ -20,28 +20,36 @@
package org.apache.polygene.cache.ehcache;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.cache.ehcache.assembly.EhCacheAssembler;
+import org.apache.polygene.library.fileconfig.FileConfigurationAssembler;
+import org.apache.polygene.library.fileconfig.FileConfigurationOverride;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.cache.AbstractCachePoolTest;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
public class EhCacheTest
extends AbstractCachePoolTest
{
+ @Rule
+ public final TemporaryFolder tmpDir = new TemporaryFolder();
+
@Override
// START SNIPPET: assembly
public void assemble( ModuleAssembly module )
- throws AssemblyException
{
- // END SNIPPET: assembly
+ // END SNIPPET: assembly
ModuleAssembly confModule = module.layer().module( "confModule" );
new EntityTestAssembler().visibleIn( Visibility.layer ).assemble( confModule );
+ new FileConfigurationAssembler()
+ .withOverride( new FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
+ .assemble( module );
// START SNIPPET: assembly
- new EhCacheAssembler().
- withConfig( confModule, Visibility.layer ).
- assemble( module );
+ new EhCacheAssembler()
+ .withConfig( confModule, Visibility.layer )
+ .assemble( module );
}
// END SNIPPET: assembly
}
[3/4] polygene-java git commit: upgrade a bunch of libraries,
extensions, tools and tests dependencies
Posted by pa...@apache.org.
upgrade a bunch of libraries, extensions, tools and tests dependencies
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/4bca3d7f
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/4bca3d7f
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/4bca3d7f
Branch: refs/heads/develop
Commit: 4bca3d7fb9a9750ae26e58160004d3f858c0ba41
Parents: 98010b4
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 11:35:05 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 11:35:05 2017 +0100
----------------------------------------------------------------------
dependencies.gradle | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4bca3d7f/dependencies.gradle
----------------------------------------------------------------------
diff --git a/dependencies.gradle b/dependencies.gradle
index 09b2c5a..61f2b2a 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -41,39 +41,39 @@ dependencies.libraries << [
// Extensions, Libraries and Tools dependencies
def bonecpVersion = '0.8.0.RELEASE'
def bouncyVersion = '1.55'
-def cassandraClientVersion = '3.1.3'
-def codahaleMetricsVersion = '3.1.2'
+def cassandraClientVersion = '3.1.4'
+def codahaleMetricsVersion = '3.2.0'
def commonsDbcpVersion = '2.1.1'
def commonsLangVersion = '3.5'
def derbyVersion = '10.13.1.1'
def ehcacheVersion = '3.3.0'
-def elasticsearchVersion = '5.0.1'
+def elasticsearchVersion = '5.2.2'
def freemarkerVersion = '2.3.25-incubating'
-def geodeVersion = '1.0.0-incubating'
-def groovyVersion = '2.4.7'
-def hazelcastVersion = '3.7.3'
-def httpClientVersion = '4.5.2'
-def jacksonVersion = '2.8.5'
+def geodeVersion = '1.1.0'
+def groovyVersion = '2.4.9'
+def hazelcastVersion = '3.8'
+def httpClientVersion = '4.5.3'
+def jacksonVersion = '2.8.7'
def javascriptVersion = '1.7.7.1'
def javasqlgeneratorVersion = '0.3.2'
def jaxbApiVersion = '2.2.12'
-def jcloudsVersion = '2.0.0'
+def jcloudsVersion = '2.0.1'
def jdbmVersion = '2.4'
def jedisVersion = '2.9.0'
def jettyVersion = '9.2.17.v20160517' // 9.3.x Tests fail!
def leveldbVersion = '0.9'
def leveldbJniVersion = '1.8'
def liquibaseVersion = '3.5.3'
-def mongodbVersion = '3.4.0'
-def restletVersion = '2.3.7'
+def mongodbVersion = '3.4.2'
+def restletVersion = '2.3.9'
def rdfVersion = '2.7.16' // 2.8.x change query results!! 4.x exists
def riakVersion = '2.1.1'
def servletVersion = '3.1.0'
def shiroVersion = '1.3.2'
-def slf4jVersion = '1.7.21'
+def slf4jVersion = '1.7.24'
def solrVersion = "1.4.1" // 4.x Fails to compile!
-def springVersion = '4.3.4.RELEASE'
-def spymemcachedVersion = '2.12.1'
+def springVersion = '4.3.7.RELEASE'
+def spymemcachedVersion = '2.12.2'
def velocityVersion = '1.7'
dependencies.libraries << [
bonecp : "com.jolbox:bonecp:$bonecpVersion",
@@ -160,7 +160,7 @@ dependencies.libraries << [
// Tools dependencies
def jgoodiesLooksVersion = '2.7.0'
-def pdfboxVersion = '2.0.3'
+def pdfboxVersion = '2.0.4'
def prefuseVersion = '1.0.1'
dependencies.libraries << [
jgoodies_looks: "com.jgoodies:jgoodies-looks:$jgoodiesLooksVersion",
@@ -170,19 +170,19 @@ dependencies.libraries << [
// Runtime, Test and Samples dependencies
def awaitilityVersion = '2.0.0'
-def dnsJavaVersion = '2.1.7'
+def dnsJavaVersion = '2.1.8'
def dockerJUnitVersion = '0.3'
def easyMockVersion = '3.4'
-def embedMongoVersion = '1.50.5'
+def embedMongoVersion = '1.50.5' // 2.0.0 exists
def h2Version = '1.4.193'
def hamcrestVersion = '1.3'
def jaxRsApiVersion = '2.0.1'
def junitVersion = '4.12'
-def logbackVersion = '1.1.7'
-def mockitoVersion = '2.2.9'
-def mysqlVersion = '6.0.4'
-def postgresqlVersion = '9.4.1211'
-def sqliteVersion = '3.14.2.1'
+def logbackVersion = '1.2.1'
+def mockitoVersion = '2.7.14'
+def mysqlVersion = '6.0.5'
+def postgresqlVersion = '42.0.0'
+def sqliteVersion = '3.16.1'
dependencies.libraries << [
awaitility : "org.awaitility:awaitility:$awaitilityVersion",
derby : "org.apache.derby:derby:$derbyVersion",
@@ -254,7 +254,7 @@ dependencies.dependencySubstitutionSpec = { DependencySubstitution substitution,
// Build Tools
dependencies.buildToolsVersions << [
- jacoco: '0.7.8'
+ jacoco: '0.7.9'
]
// Docker Images
[2/4] polygene-java git commit: upgrade ASM from 5.1 to 5.2
Posted by pa...@apache.org.
upgrade ASM from 5.1 to 5.2
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/98010b43
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/98010b43
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/98010b43
Branch: refs/heads/develop
Commit: 98010b4343290124c8b7d46f9673a1cf7d89c2c3
Parents: 4d72625
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 11:34:04 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 11:34:04 2017 +0100
----------------------------------------------------------------------
dependencies.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/98010b43/dependencies.gradle
----------------------------------------------------------------------
diff --git a/dependencies.gradle b/dependencies.gradle
index 1188eb0..09b2c5a 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -27,7 +27,7 @@ dependencies.repositoriesUrls << [
]
// Core dependencies
-def asmVersion = '5.1'
+def asmVersion = '5.2'
def orgJsonVersion = '20130213'
def osgiVersion = '4.3.1'
dependencies.libraries << [
[4/4] polygene-java git commit: Add node_modules to .gitignore
Posted by pa...@apache.org.
Add node_modules to .gitignore
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/46e26e66
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/46e26e66
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/46e26e66
Branch: refs/heads/develop
Commit: 46e26e66527a9e2dbd06cc1925b3aefda1a98976
Parents: 4bca3d7
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 12:34:55 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 12:34:55 2017 +0100
----------------------------------------------------------------------
.gitignore | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/46e26e66/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 9a8a6de..b1c086c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ derby.log
.nb-gradle
.gradletasknamecache
private/cache
+node_modules