为何Arjuna启动时抛出ARJUNA012391对象存储初始化异常?
Arjuna对象存储初始化失败:ARJUNA012391错误(Java 17重构场景)
我正在将一个大型遗留应用重构至Java 17,以此解决多代技术债务。重构工作的一部分是把已废弃的Bitronix事务管理器替换为Narayana + Arjuna组合。
应用启动时,Arjuna启动失败并抛出异常:ARJUNA012391: Could not initialize object store 'null' of type 'com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore'
已排查的内容
- 已设置Arjuna环境变量:
-Duser.dir=C:/arjuna/user -Duser.home=C:/arjuna/user - Arjuna已创建空的对象存储目录
- 目录权限允许应用完全控制
- 类加载器对构造函数的反射调用无可见性限制
- 根异常为:
com.arjuna.ats.arjuna.exceptions.ObjectStoreException: ARJUNA012225: FileSystemStore::setupStore - cannot access root of object store: PutObjectStoreDirHere\ShadowNoFileLockStore\defaultStore\ - 目录
C:\arjuna\user\PutObjectStoreDirHere\ShadowNoFileLockStore\defaultStore已存在,且JVM拥有完全控制权
日志片段
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'schedulerFactoryBean' defined in com.maxis.mxarchive.SchedulerConfig: ARJUNA012391: Could not initialize object store 'null' of type 'com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore' at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1751) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1405) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:709) ... 56 common frames omitted Caused by: com.arjuna.ats.arjuna.exceptions.FatalError: ARJUNA012391: Could not initialize object store 'null' of type 'com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore' at com.arjuna.ats.arjuna.objectstore.StoreManager.initStore(StoreManager.java:160) at com.arjuna.ats.arjuna.objectstore.StoreManager.getActionStore(StoreManager.java:111) at com.arjuna.ats.arjuna.objectstore.StoreManager.getRecoveryStore(StoreManager.java:68) at com.arjuna.ats.arjuna.recovery.ActionStatusService.<init>(ActionStatusService.java:65) at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:306) at java.base/java.lang.Class.newInstance(Class.java:684) at com.arjuna.common.internal.util.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:135) at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.start(TransactionStatusManager.java:125) at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.<init>(TransactionStatusManager.java:58) at com.arjuna.ats.arjuna.coordinator.TxControl.createTransactionStatusManager(TxControl.java:196) at com.arjuna.ats.arjuna.coordinator.TxControl.<clinit>(TxControl.java:273) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:96) at org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin(JtaTransactionManager.java:877) at org.springframework.transaction.jta.JtaTransactionManager.doBegin(JtaTransactionManager.java:840) at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400) at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373) at org.springframework.scheduling.quartz.SchedulerAccessor.registerJobsAndTriggers(SchedulerAccessor.java:209) at org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:507) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1797) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1747) ... 66 common frames omitted
内容的提问来源于stack exchange,提问作者pojo-guy
相关产品推荐
相关产品推荐

