Reputation: 31
After upgrading the spring boot version from 2.1.x to 2.6.2, application fails to start with the below error. Configclass, pom.xml, application.properties and stack traces are attached. This was working with the older version of spring boot Any help is much appreciated. HazelcastConfig class
application.properties :
hazelcast_encryption_enabled=true hazelcast_server_bind_group=TestHazelcast
Pom.xml
<spring.boot.version>2.6.2</spring.boot.version>
<hibernate.version>5.6.0.Final</hibernate.version>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
<exclusions>
<exclusion>
<groupId>net.sourceforge.findbugs</groupId>
<artifactId>annotations</artifactId>
</exclusion>
<exclusion>
<groupId>com.eclipsesource.minimal-json</groupId>
<artifactId>minimal-json</artifactId>
</exclusion>
</exclusions>
</dependency>
Stack Trace :
2022-03-18 16:53:17.999 WARN 17872 --- [ main] c.h.i.i.HazelcastInstanceFactory : Hazelcast is starting in a Java modular environment (Java 9 and newer) but without proper access to required Java packages. Use additional Java arguments to provide Hazelcast access to Java internal API. The internal API access is used to get the best performance results. Arguments to be used:
--add-modules java.se --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
2022-03-18 16:53:19.478 INFO 17872 --- [ main] c.h.system : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Hazelcast 4.2.4 (20211220 - 25f0049) starting at [10.206.138.105]:5701
2022-03-18 16:53:21.153 INFO 17872 --- [ main] c.h.i.i.Node : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Using Discovery SPI
2022-03-18 16:53:21.175 WARN 17872 --- [ main] c.h.c.CPSubsystem : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] CP Subsystem is not enabled. CP data structures will operate in UNSAFE mode! Please note that UNSAFE mode will not provide strong consistency guarantees.
2022-03-18 16:53:22.061 INFO 17872 --- [ main] c.h.i.d.Diagnostics : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Diagnostics disabled. To enable add -Dhazelcast.diagnostics.enabled=true to the JVM arguments.
2022-03-18 16:53:22.101 INFO 17872 --- [ main] c.h.c.LifecycleService : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] [10.206.138.105]:5701 is STARTING
2022-03-18 16:53:22.843 ERROR 17872 --- [ main] c.h.i.c.i.DiscoveryJoiner : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] no transaction is in progress
javax.persistence.TransactionRequiredException: no transaction is in progress
at org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:431) ~[hibernate-core-5.6.0.Final.jar:5.6.0.Final]
at org.hibernate.internal.SessionImpl.checkTransactionNeededForUpdateOperation(SessionImpl.java:3478) ~[hibernate-core-5.6.0.Final.jar:5.6.0.Final]
at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1394) ~[hibernate-core-5.6.0.Final.jar:5.6.0.Final]
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1389) ~[hibernate-core-5.6.0.Final.jar:5.6.0.Final]
at org.springframework.orm.hibernate5.SessionFactoryUtils.flush(SessionFactoryUtils.java:113) ~[spring-orm-5.3.14.jar:5.3.14]
at org.springframework.orm.hibernate5.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:95) ~[spring-orm-5.3.14.jar:5.3.14]
at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:97) ~[spring-tx-5.3.14.jar:5.3.14]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:916) ~[spring-tx-5.3.14.jar:5.3.14]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:727) ~[spring-tx-5.3.14.jar:5.3.14]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) ~[spring-tx-5.3.14.jar:5.3.14]
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) ~[spring-tx-5.3.14.jar:5.3.14]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) ~[spring-tx-5.3.14.jar:5.3.14]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.14.jar:5.3.14]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.14.jar:5.3.14]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.14.jar:5.3.14]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) ~[spring-aop-5.3.14.jar:5.3.14]
at com.distributed.cache.db.HazelCastPingDao$$EnhancerBySpringCGLIB$$6ec90982.getMembers(<generated>) ~[classes/:?]
at com.distributed.cache.hazelcast.HazelcastDatabaseDiscoveryStrategy.discoverNodes(HazelcastDatabaseDiscoveryStrategy.java:36) ~[classes/:?]
at com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.discoverNodes(DefaultDiscoveryService.java:72) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.internal.cluster.impl.DiscoveryJoiner.getPossibleAddresses(DiscoveryJoiner.java:71) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.internal.cluster.impl.DiscoveryJoiner.getPossibleAddressesForInitialJoin(DiscoveryJoiner.java:60) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.internal.cluster.impl.TcpIpJoiner.joinViaPossibleMembers(TcpIpJoiner.java:136) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.internal.cluster.impl.TcpIpJoiner.doJoin(TcpIpJoiner.java:96) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.internal.cluster.impl.AbstractJoiner.join(AbstractJoiner.java:137) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.instance.impl.Node.join(Node.java:810) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.instance.impl.Node.start(Node.java:473) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.instance.impl.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:123) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.instance.impl.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:211) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.instance.impl.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:190) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.instance.impl.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:128) ~[hazelcast-4.2.4.jar:4.2.4]
at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:57) ~[hazelcast-4.2.4.jar:4.2.4]
at com.distributed.cache.hazelcast.HazelCastSpringConfig.hazelCastInstance(HazelCastSpringConfig.java:80) ~[classes/:?]
at com.distributed.cache.hazelcast.HazelCastSpringConfig$$EnhancerBySpringCGLIB$$2534caa4.CGLIB$hazelCastInstance$5(<generated>) ~[classes/:?]
at com.distributed.cache.hazelcast.HazelCastSpringConfig$$EnhancerBySpringCGLIB$$2534caa4$$FastClassBySpringCGLIB$$be69fb27.invoke(<generated>) ~[classes/:?]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.14.jar:5.3.14]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.14.jar:5.3.14]
at com.distributed.cache.hazelcast.HazelCastSpringConfig$$EnhancerBySpringCGLIB$$2534caa4.hazelCastInstance(<generated>) ~[classes/:?]
2022-03-18 16:53:22.907 ERROR 17872 --- [ main] c.h.i.i.Node : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Could not join cluster. Shutting down now!
2022-03-18 16:53:22.911 INFO 17872 --- [ main] c.h.c.LifecycleService : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] [10.206.138.105]:5701 is SHUTTING_DOWN
2022-03-18 16:53:22.922 WARN 17872 --- [ main] c.h.i.i.Node : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Terminating forcefully...
2022-03-18 16:53:22.923 INFO 17872 --- [ main] c.h.i.i.Node : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Shutting down connection manager...
2022-03-18 16:53:22.974 INFO 17872 --- [ main] c.h.i.i.Node : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Shutting down node engine...
2022-03-18 16:53:23.011 INFO 17872 --- [ main] c.h.i.i.NodeExtension : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Destroying node NodeExtension.
2022-03-18 16:53:23.014 INFO 17872 --- [ main] c.h.i.i.Node : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Hazelcast Shutdown is completed in 91 ms.
2022-03-18 16:53:23.014 INFO 17872 --- [ main] c.h.c.LifecycleService : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] [10.206.138.105]:5701 is SHUTDOWN
2022-03-18 16:53:23.153 WARN 17872 --- [ main] c.h.i.u.p.PhoneHome : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Could not schedule phone home task! Most probably Hazelcast failed to start.
2022-03-18 16:53:23.154 INFO 17872 --- [ main] c.h.i.i.Node : [10.206.138.105]:5701 [TestHazelcast] [4.2.4] Node is already shutting down... Waiting for shutdown process to complete...
2022-03-18 16:53:23.177 WARN 17872 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'distributedCacheAdapterProxy': Unsatisfied dependency expressed through field 'distributedAdapter'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'distributedCacheImpl': Unsatisfied dependency expressed through field 'hazelCastInstance'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hazelCastInstance' defined in class path resource [com/distributed/cache/hazelcast/HazelCastSpringConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.hazelcast.core.HazelcastInstance]: Factory method 'hazelCastInstance' threw exception; nested exception is java.lang.IllegalStateException: Node failed to start!
2022-03-18 16:53:23.178 WARN 17872 --- [ main] .s.c.a.CommonAnnotationBeanPostProcessor : Destroy method on bean with name 'hazelCastSpringConfig' threw an exception: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'getHazelcastPingDao': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
2022-03-18 16:53:23.187 INFO 17872 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
--- [ main] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'
2022-03-18 16:53:23.262 INFO 17872 --- [ main] c.z.h.HikariDataSource : HikariPool-1 - Shutdown initiated...
2022-03-18 16:53:23.351 INFO 17872 --- [ main] c.z.h.HikariDataSource : HikariPool-1 - Shutdown completed.
2022-03-18 16:53:23.531 INFO 17872 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-03-18 16:53:23.718 ERROR 17872 --- [ main] o.s.b.SpringApplication : Application run failed
Upvotes: 2
Views: 2089
Reputation: 3150
Is this a duplicate of this ?
Generic advice would be to use newer versions than Spring Boot 2.6.2 and Hazelcast 4.2.4, (ie. 2.6.4 and 5.1.1 respectively) on the basis if you're upgrading you may as well take the latest.
Specific advice is to check the dependency tree for mismatches (mvn dependency:tree
), where you specify one version but don't get it everywhere.
Since the exception mentions Hibernate, the version of hazelcast-hibernate
should be the one most likely to be problematic.
hazelcast-hibernate53
here lists compatibility with Hibernate 5.3/5.4 but you're using 5.6.
Upvotes: 1