Article Content
Article Number | 000037258 |
Applies To | RSA Product Set: Identity Governance & Lifecycle RSA Version/Condition: 7.1.0 P01, 7.1.0 P02 Application Server: WildFly |
Issue | The following error is thrown after applying RSA Identity Governance & Lifecycle P03, P04 or P05 to a server running 7.1.0. P01 or P02: java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator The aveksaServer.log shows the following error: 03/07/2019 22:41:08.555 INFO (ServerService Thread Pool -- 82) [com.aveksa.server.runtime.AveksaSystem] ******************** Aveksa System Initialization End ******************** 03/07/2019 22:41:08.555 FATAL (ServerService Thread Pool -- 82) [com.aveksa.server.runtime.AveksaSystem] ' Initialization has failed! java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator from [Module "deployment.aveksa.ear:main" from Service Module Loader] The patch.log shows the following exception: SQL/line#: /home/oracle/wildfly-10.1.0.Final/standalone/tmp/vfs/deployment/deployment37c53e28e101823/aveksa.war-2687d1caa55764e9/WEB-INF/database/updates/7.0/ACM-73375.sql(1): Start time [Thu Mar 07 22:41:08 EST 2019] java com.aveksa.migration.db.password.ViewPasswordSettingMigrator java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator from [Module "deployment.aveksa.ear:main" from Service Module Loader] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.aveksa.migration.jdbctool.SQLFileExecutor.execute(SQLFileExecutor.java:211) at com.aveksa.migration.jdbctool.SQLFileExecutor.execute(SQLFileExecutor.java:107) at com.aveksa.migration.jdbctool.SQLFileExecutor.execute(SQLFileExecutor.java:98) at com.aveksa.migration.jdbctool.IncrementalUpdate.update(IncrementalUpdate.java:481) at com.aveksa.migration.jdbctool.MigrateSchema.execute(MigrateSchema.java:159) at com.aveksa.migration.jdbctool.CheckDatabase.migrateSchema(CheckDatabase.java:1403) at com.aveksa.migration.jdbctool.CheckDatabase.check(CheckDatabase.java:577) at com.aveksa.server.runtime.AveksaSystem.initialize(AveksaSystem.java:309) at com.aveksa.init.Startup.init(Startup.java:52) at com.aveksa.gui.core.ACMFramework.init(ACMFramework.java:94) at com.aveksa.gui.core.ACMFramework.initInstance(ACMFramework.java:83) at com.aveksa.init.InitServlet.init(InitServlet.java:42) at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117) at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.handle(RunAsLifecycleInterceptor.java:65) at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:76) at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103) at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:250) at io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:133) at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:546) at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:517) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:559) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) at org.jboss.threads.JBossThread.run(JBossThread.java:320) [0:00:00] File Completion Time: /home/oracle/wildfly-10.1.0.Final/standalone/tmp/vfs/deployment/deployment37c53e28e101823/aveksa.war-2687d1caa55764e9/WEB-INF/database/updates/7.0/ACM-73375.sql [0:00:11] Total Migration Time |
Cause | TheRSA Identity Governance & Lifecycle 7.0.1 patch process for P03, P04 and P05 was not removing the deprecated script ACM-73375.sql which calls the Java class that has also been deprecated and removed. During the database patching process, ACM-73375 gets executed, calling com.aveksa.migration.db.password.ViewPasswordSettingMigrator class which no longer exists. As a result, the java.lang.ClassNotFoundException: com.aveksa.migration.db.password.ViewPasswordSettingMigrator error is thrown. |
Resolution | This issue has been resolved in RSA Identity Governance and Lifecycle P06 and higher. |
Workaround | The following workaround will remove any customizations you have done to the ear file previously. You will need to reapply those customizations. To work around the problem without fixing the patching utility until you apply P06, you need to rebuild a "clean" ear-file with the following steps: Note: Before proceeding with the steps below, please make sure that ACM is running.
cd /home/oracle/<Aveksa_PatchName>
rm -rf /tmp/customizeACM
cp -ar ./aveksa.ear /tmp/customizeACM
./deploy/customizeACM.sh -d |
Notes | Installations with a remote database with WebSphere and WebLogic are not affected, as we take the pristine patch (e. g., 7.1.0 P05) ear-file and apply customization on top of it, so no obsolete scripts are not copied into it from previous patches/releases. |