timolson / cointrader

Coin Trader is a Java-based backend for algorithmically trading cryptocurrencies. It provides data collection and export, complex event processing and triggering, and backtesting - paper trading - live trading.
Other
453 stars 166 forks source link

Application can not start because of the hibernate version #168

Open edenpan opened 2 years ago

edenpan commented 2 years ago

Hi, Thanks for the repo and the install guide is quite detailed. But when I run ./cointrader.sh save-data & There is an error:

1) Error injecting constructor, org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.cache.spi.RegionFactory]
  at org.cryptocoinpartners.module.ApplicationInitializer.<init>(ApplicationInitializer.java:82)
  at org.cryptocoinpartners.module.ApplicationInitializer.class(ApplicationInitializer.java:37)
  while locating org.cryptocoinpartners.module.ApplicationInitializer

1 error
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1028)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054)
        at org.cryptocoinpartners.util.Injector.getInstance(Injector.java:36)
        at org.cryptocoinpartners.bin.Main.main(Main.java:81)
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.cache.spi.RegionFactory]
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275)
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
        at org.hibernate.boot.internal.MetadataBuilderImpl$MetadataBuildingOptionsImpl.<init>(MetadataBuilderImpl.java:694)
        at org.hibernate.boot.internal.MetadataBuilderImpl.<init>(MetadataBuilderImpl.java:122)
        at org.hibernate.boot.MetadataSources.getMetadataBuilder(MetadataSources.java:141)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:238)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:175)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:61)
        at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:50)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
        at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:108)
        at org.cryptocoinpartners.module.ApplicationInitializer.<init>(ApplicationInitializer.java:83)
        at org.cryptocoinpartners.module.ApplicationInitializer$$FastClassByGuice$$ca919e6d.newInstance(<generated>)
        at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015)
        ... 3 more

That i checked the pom.xml history and find that the version of Hibernate has been changed from 5.2.18 to 5.4.24 which lead the error. After changed the version in the pom.xml the error has been fix. <hibernate.version>5.2.18.Final</hibernate.version>

timolson commented 2 years ago

I haven't maintained this project in years. Thanks for the fix... we'd be happy to accept a PR.

edenpan commented 2 years ago

ok, I have committed a PR, thanks~.

douggie commented 2 years ago

think 5.3.27.Final should work