Open issues

Loading a persistence unit with Hibernate seconde level cache, jcache API and Hazelcast Provider causes errors because HazelcastCachingProvider is not a subtype of javax.cache.spi.CachingProvider
HHH-13481
hibernate-mapping3.0.dtd is invalid after update 6/27/2019
HHH-13469
order by attribute of joined entity with distinct: Order by expression must be in the result list JdbcSQLSyntaxErrorException SQLGrammarException
HHH-13434
@MapsId stopped working correctly migrating from hibernate 5.3 to 5.4
HHH-13413
Failure loading list mapped with @OrderColumn(updatable = false, insertable = false)
HHH-13273
@JoinFormula and @Generated behave differentlly on java 6 vs. java 8
HHH-13150
API/SPI binary compatibility testing
HHH-12502
Entities with InheritanceType.SINGLE_TABLE and SecondaryTable not being saved properly
HHH-12009
Getting nullpointer exception while executing query
HHH-11229
Reattaching entity with one-to-many lazy list mapped collection can update index column
HHH-10743
Cache71Dialect error
HHH-10620
HbmMetadataSourceProcessor issue when combining annotation and hbm.
HHH-10609
Dynamic filter parameter on OneToMany collection is not bound to elements() expression in WHERE clause
HHH-10109
Applying JPA lifecycle callbacks needs major overhaul
HHH-8931
unable to pass null values to natural id's when using second-level cache
HHH-8928
useScrollableResultSetToSkip not used
HHH-7753
Support for IMS Transaction Manager running on z/OS on System z Hardware
HHH-7270
Filtered joined collection is uninitialized
HHH-7141
map-key-many-to-many and cascade="all-delete-orphan" do not work together
HHH-6574
FileNotFound in FileZippedJarVisitor class when deploying to SAP Netweaver
HHH-6008
<properties> for annotations
HHH-4342
Null foreign key results in Transient Object Exception
HHH-2612
rework HQL translator
HHH-2407
All @OneToOne entities within the same object are loaded while accessing just one of them
HHH-13497
Adding unique constraint to a field from an entity with an already existing database table does not work despite content being unique
HHH-13468
ForeignGenerator Throws ClassCastException When Using StatelessSession
HHH-13456
WildFly 15 and up fails with a NPE when executing the following native PostgreSQL query
HHH-13438
Problem in MariaDB implementation
HHH-13406
Query Cache should not be allowed for queris having Non Cacheable Query Spaces
HHH-13331
isBound Returning false for collections
HHH-13321
setParameter doesn't work in native Query if Query is already executed with different parameter value for collection type when new collection length is less than the previous
HHH-13319
L1 Cache object updating issue
HHH-13174
Selecting inverse OneToOne with additional selects in query wrongly produces null
HHH-12885
Cannot update a Sub Entiy with the strategy InheritanceType.JOINED and when the addnotation @IdClass is specified in the super entity
HHH-12862
java.sql.SQLException: Invalid column type: 2012 when using Hibernate and Oracle stored procedure with REF_CURSOR
HHH-12703
Hibernate transaction can't recover from a DB restart
HHH-12513
Referential Integrity Constraint Violation - Unidirectional OneToOne with Cascade.ALL, optional false and @PrimaryKeyColumnJoin
HHH-12414
Session is not unset for PersistentBag loaded in temp session.
HHH-12210
Update and Get through Mysql Stored Procedure
HHH-12161
AbstractProducedQuery trying to call setCacheMode on StatelessSessionImpl, causing UnsupportedOperationException
HHH-12012
SOME AND parenthesis are required in the SQL query
HHH-12005
PESSIMISTIC_WRITE doesn't autoFlush before find/lock
HHH-12002
Connection is Closed after commit
HHH-11972
em.find() ignores QueryHints.HINT_READONLY
HHH-11958
Hibernate ActionQueue.sort() removes entities from insertion batches
HHH-11920
Lost Update caused by optimistic lock excluded attributes
HHH-11893
Installing an Interceptor in an Integrator is broken
HHH-11880
UpdateTimestampCache generates puts for non-cached regions
HHH-11869
Same Bundle-SymbolicName for binary and source jar files
HHH-11854
InsertActionSorter leads to data loss or duplicate keys
HHH-11844
issue 1 of 2822

Loading a persistence unit with Hibernate seconde level cache, jcache API and Hazelcast Provider causes errors because HazelcastCachingProvider is not a subtype of javax.cache.spi.CachingProvider

Description

Recently, we have upgraded the version of Hibernate from 4.3.5 to 5.3.7, then we can't launch our project right now in active mode of second level cache with Hazelcast implementation. Following are some snippets of our related configuration :

persistence.xml

1 2 3 4 5 <property name="hibernate.cache.use_second_level_cache" value="true"/> <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.jcache.JCacheRegionFactory" /> <property name="hibernate.cache.jcache.config" value="classpath:myhazelcast.xml"/> <property name="hibernate.javax.cache.provider" value="com.hazelcast.cache.HazelcastCachingProvider" />

error messages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 java.util.ServiceConfigurationError: javax.cache.spi.CachingProvider: Provider com.hazelcast.cache.HazelcastCachingProvider not a subtype at java.util.ServiceLoader.fail(ServiceLoader.java:239) at java.util.ServiceLoader.access$300(ServiceLoader.java:185) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376) at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) at java.util.ServiceLoader$1.next(ServiceLoader.java:480) at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:448) at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:442) at java.security.AccessController.doPrivileged(Native Method) at javax.cache.Caching$CachingProviderRegistry.getCachingProviders(Caching.java:442) at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:529) at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:476) at javax.cache.Caching.getCachingProvider(Caching.java:226) at org.hibernate.cache.jcache.internal.JCacheRegionFactory.getCachingProvider(JCacheRegionFactory.java:246) at org.hibernate.cache.jcache.internal.JCacheRegionFactory.resolveCacheManager(JCacheRegionFactory.java:204) at org.hibernate.cache.jcache.internal.JCacheRegionFactory.prepareForUse(JCacheRegionFactory.java:188) at org.hibernate.cache.spi.AbstractRegionFactory.start(AbstractRegionFactory.java:91) at org.hibernate.cache.internal.EnabledCaching.<init>(EnabledCaching.java:77) at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:33) at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:24) at org.hibernate.service.spi.SessionFactoryServiceInitiator.initiateService(SessionFactoryServiceInitiator.java:30) at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:68) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.getService(SessionFactoryServiceRegistryImpl.java:109) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:239) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:141) at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:199) at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107) at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223) at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510) at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230) at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168) at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:434) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:360) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:360) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534) at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224) at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) at java.lang.Thread.run(Thread.java:745)]] [2019-07-03T14:57:07.478+0200] [glassfish 4.1] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=53 _ThreadName=admin-listener(5)] [timeMillis: 1562158627478] [levelValue: 1000] [[ Exception while preparing the app]] [2019-07-03T14:57:07.478+0200] [glassfish 4.1] [SEVERE] [NCLS-CORE-00026] [javax.enterprise.system.core] [tid: _ThreadID=53 _ThreadName=admin-listener(5)] [timeMillis: 1562158627478] [levelValue: 1000] [[ Exception during lifecycle processing java.util.ServiceConfigurationError: javax.cache.spi.CachingProvider: Provider com.hazelcast.cache.HazelcastCachingProvider not a subtype at java.util.ServiceLoader.fail(ServiceLoader.java:239) at java.util.ServiceLoader.access$300(ServiceLoader.java:185) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376) at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) at java.util.ServiceLoader$1.next(ServiceLoader.java:480) at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:448) at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:442) at java.security.AccessController.doPrivileged(Native Method) at javax.cache.Caching$CachingProviderRegistry.getCachingProviders(Caching.java:442) at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:529) at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:476) at javax.cache.Caching.getCachingProvider(Caching.java:226) at org.hibernate.cache.jcache.internal.JCacheRegionFactory.getCachingProvider(JCacheRegionFactory.java:246) at org.hibernate.cache.jcache.internal.JCacheRegionFactory.resolveCacheManager(JCacheRegionFactory.java:204) at org.hibernate.cache.jcache.internal.JCacheRegionFactory.prepareForUse(JCacheRegionFactory.java:188) at org.hibernate.cache.spi.AbstractRegionFactory.start(AbstractRegionFactory.java:91) at org.hibernate.cache.internal.EnabledCaching.<init>(EnabledCaching.java:77) at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:33) at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:24) at org.hibernate.service.spi.SessionFactoryServiceInitiator.initiateService(SessionFactoryServiceInitiator.java:30) at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:68) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.getService(SessionFactoryServiceRegistryImpl.java:109) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:239) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:141) at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:199) at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107) at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223) at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510) at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230) at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168) at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:434) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:360) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:360) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534) at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224) at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) at java.lang.Thread.run(Thread.java:745) ]] [2019-07-03T14:57:07.569+0200] [glassfish 4.1] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=53 _ThreadName=admin-listener(5)] [timeMillis: 1562158627569] [levelValue: 1000] [[ Exception while preparing the app : javax.cache.spi.CachingProvider: Provider com.hazelcast.cache.HazelcastCachingProvider not a subtype]]

In fact, the class HazelcastCachingProvider is a concrete class of CachingProvider in the package of com.hazelcast.cache

Environment

Java 8, Glassfih 4.1, JPA 2.2, Hibernate-* 5.3.7, Hazelcast 3.12, cache-api 1.1.0

Status

Assignee

Unassigned

Reporter

technique ecc

Fix versions

None

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Worked in

4.3.5

Components

Affects versions

5.3.7

Priority

Blocker