SV: Enterprise Dashboard will not start - Error loading service [io.micronaut.spring.tx.annotation.$TransactionInterceptorDefinitionClass]: javax/annotation/Nullable
search cancel

SV: Enterprise Dashboard will not start - Error loading service [io.micronaut.spring.tx.annotation.$TransactionInterceptorDefinitionClass]: javax/annotation/Nullable

book

Article ID: 270126

calendar_today

Updated On:

Products

CA Application Test Service Virtualization

Issue/Introduction

Getting this error starting the Enterprise Dashboard:

2023-07-05T20:42:15,746Z (15:42) [main] INFO  io.micronaut.context.env.DefaultEnvironment - Established active environments: [production]
2023-07-05T20:42:16,105Z (15:42) [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.util.ServiceConfigurationError: Error loading service [io.micronaut.spring.tx.annotation.$TransactionInterceptorDefinitionClass]: javax/annotation/Nullable
    at io.micronaut.core.io.service.DefaultServiceDefinition.lambda$load$0(DefaultServiceDefinition.java:71) ~[micronaut-core-1.1.4.jar:1.1.4]
    at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_352]
    at io.micronaut.core.io.service.DefaultServiceDefinition.load(DefaultServiceDefinition.java:67) ~[micronaut-core-1.1.4.jar:1.1.4]
    at io.micronaut.context.DefaultBeanContext.resolveBeanDefinitionReferences(DefaultBeanContext.java:1116) ~[micronaut-inject-1.1.4.jar:1.1.4]
    at io.micronaut.context.DefaultApplicationContext.resolveBeanDefinitionReferences(DefaultApplicationContext.java:140) ~[micronaut-inject-1.1.4.jar:1.1.4]
    at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:2278) ~[micronaut-inject-1.1.4.jar:1.1.4]
    at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:199) ~[micronaut-inject-1.1.4.jar:1.1.4]
    at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:187) ~[micronaut-inject-1.1.4.jar:1.1.4]
    at grails.boot.GrailsApp.createApplicationContext(GrailsApp.groovy:184) ~[grails-core-5.2.3.jar:5.2.3]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:304) ~[spring-boot-2.7.6.jar:2.7.6]
    at grails.boot.GrailsApp.run(GrailsApp.groovy:99) ~[grails-core-5.2.3.jar:5.2.3]
    at grails.boot.GrailsApp.run(GrailsApp.groovy:485) ~[grails-core-5.2.3.jar:5.2.3]
    at grails.boot.GrailsApp.run(GrailsApp.groovy:472) ~[grails-core-5.2.3.jar:5.2.3]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) ~[groovy-3.0.11.jar:3.0.11]
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-3.0.11.jar:3.0.11]
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:44) ~[groovy-3.0.11.jar:3.0.11]
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:89) ~[groovy-3.0.11.jar:3.0.11]
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-3.0.11.jar:3.0.11]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) ~[groovy-3.0.11.jar:3.0.11]
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139) ~[groovy-3.0.11.jar:3.0.11]
    at dradis.Application.main(Application.groovy:31) ~[dradis-10.7.2.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84) ~[i4jruntime.jar:?]
    at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:69) ~[i4jruntime.jar:?]
    at install4j.dradis.Application_EnterpriseDashboardService.main(Unknown Source) ~[launcherd27d6524.jar:?]
Caused by: java.lang.NoClassDefFoundError: javax/annotation/Nullable

 

 

 

 

 

Environment

DevTest 10.7.2
RHEL 7
MySQL 5.7
SP2 hf21 applied

 

Resolution

Needed to go back to a DevTest 10.7.2 backup before SP2 was applied.  

1. Restored DevTest 10.7.2 .
2. Applied SP2 to DevTest 10.7.2.
3. Backed up DevTest with SP2.
4. Applied SP2 hf21 to DevTest 10.7.2.
5. Since iam.properties got overwritten with hf21, retrieved the backup version and updated the following:

iam.keystore.password=passphrase
iam.truststore.password=passphrase

Commented out the current iam.db.url and replace it with this one.

iam.db.url=jdbc:mysql://<database name>:3306/db_iam2?useSSL=false&autoReconnect=true&autoReconnectForPools=true&interactiveClient=true

Need to replace current value of iam.db.password with the plain text password.

6. Since iam-truststore.ks was overwritten, needed to retrieve the backed up version of iam-truststore.ks since it has the certificates for the LDAPs call in IAM.
7. Since cacerts got overwritten, needed to get all the certificates in iam-truststore.ks to be imported into cacerts.  Did this with the below command:

keytool -importkeystore -srckeystore IAM_HOME/certs/iam-truststore.ks -destkeystore IAM_HOME/jdk/lib/security/cacerts -srcstorepass passphrase -deststorepass changeit -v

Started the following components with no issues:

IAM, Enterprise Dashboard, Registry, Portal and Coordinator