- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Zugriff auf ACL DB im Isolated Mode
Hallo,
wir stellen gerade FirstSpirit auf den Isolated Modus um und die FS-Version 2023-01. Im Generierungsauftrag haben wir einen Task, der bisher im Legacy Mode auf die ACL DB zugegriffen hat und ohne Probleme funktionierte.
Codeausschnitt:
List<File> generated = new ArrayList<File>();
// get acl database
accessControllDb = ((LegacyAccessControlDbProvider) super.context).getAccessControlDb(false);
if (accessControllDb != null) {
if (!accessControllDb.isOpen()) {
accessControllDb.open();
}
// get all generated files
generated.addAll(accessControllDb.getFiles(null, this.deploymentStartTime.getTime()));
}
Das funktioniert im Isolated Mode nicht mehr, kennt jemand eine Workaround oder eine andere Lรถsung wie man an diese Daten, hauptsรคchlich geht es mir hier um die generierten Files (accessControllDb.getFiles(...)), herankommen kann?
Alternativ auch gerne andere Objekte die Infos (Referenznamen oder ID wรคren schon super) zu den generierten Elementen beinhalten.
รber die Klasse DeploymentUtils kommt man zwar an die Pfade der generierten Elemente, aber das genรผgt leider nicht.
Ich bin fรผr jede Hilfe dankbar!
Beste Grรผรe
Dmitrij
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Der LegacyAccessControlDbProvider ist nicht Teil der API und seit der Umstellung auf den Isolated-Modus auch nicht mehr im Runtime verfรผgbar. Ein Zugriff auf die generierten Dateien ist รผber die API-Methode GenerationAgent.html#getOutput() mรถglich.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Anbei noch der Stacktrace und der auftretende Fehler, wenn ich den bestehenden Code so laufen lasse:
ERROR 01.03.2023 15:15:51.978{dNR=} (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : de.espirit.firstspirit.access.script.ExecutionException: com.commerzbank.firstspirit.basis2.deployment.scheduler.DeploymentException: java.lang.ClassCastException: class com.commerzbank.firstspirit.util.ScheduleContextAdapter cannot be cast to class de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider (com.commerzbank.firstspirit.util.ScheduleContextAdapter is in unnamed module of loader de.espirit.firstspirit.server.module.GlobalResourceLoader @78113191; de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider is in unnamed module of loader de.espirit.common.FactoryRegistry$LibrariesLoader @1a4013)
de.espirit.firstspirit.access.script.ExecutionException: com.commerzbank.firstspirit.basis2.deployment.scheduler.DeploymentException: java.lang.ClassCastException: class com.commerzbank.firstspirit.util.ScheduleContextAdapter cannot be cast to class de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider (com.commerzbank.firstspirit.util.ScheduleContextAdapter is in unnamed module of loader de.espirit.firstspirit.server.module.GlobalResourceLoader @78113191; de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider is in unnamed module of loader de.espirit.common.FactoryRegistry$LibrariesLoader @1a4013)
at com.commerzbank.firstspirit.basis2.deployment.scheduler.AbstractDeploymentBase.execute(AbstractDeploymentBase.java:181)
at com.commerzbank.firstspirit.basis2.deployment.scheduler.AbstractDeploymentBase.execute(AbstractDeploymentBase.java:50)
at com.commerzbank.firstspirit.util.AbstractTypedExecutable.execute(AbstractTypedExecutable.java:61)
at de.espirit.firstspirit.server.script.ClassCallerEngine$ContextLoaderExecutable.execute(ClassCallerEngine.java:112)
at de.espirit.firstspirit.server.script.PermissionsScriptEngine$PermissionsExecutable.lambda$execute$1(PermissionsScriptEngine.java:85)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at de.espirit.firstspirit.server.script.PermissionsScriptEngine$PermissionsExecutable.execute(PermissionsScriptEngine.java:90)
at de.espirit.firstspirit.server.script.PermissionsScriptEngine$PermissionsExecutable.execute(PermissionsScriptEngine.java:85)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:111)
at de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor.run(ScriptTaskExecutor.java:162)
at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2764)
at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2747)
at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.call(ScheduleManagerImpl.java:2673)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:629)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:493)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:60)
Caused by: com.commerzbank.firstspirit.basis2.deployment.scheduler.DeploymentException: java.lang.ClassCastException: class com.commerzbank.firstspirit.util.ScheduleContextAdapter cannot be cast to class de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider (com.commerzbank.firstspirit.util.ScheduleContextAdapter is in unnamed module of loader de.espirit.firstspirit.server.module.GlobalResourceLoader @78113191; de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider is in unnamed module of loader de.espirit.common.FactoryRegistry$LibrariesLoader @1a4013)
at com.commerzbank.firstspirit.basis2.deployment.scheduler.PostGeneration.setDeploymentQueueFiles(PostGeneration.java:237)
at com.commerzbank.firstspirit.basis2.deployment.scheduler.PostGeneration.execute(PostGeneration.java:152)
at com.commerzbank.firstspirit.basis2.deployment.scheduler.AbstractDeploymentBase.execute(AbstractDeploymentBase.java:179)
... 21 more
Caused by: java.lang.ClassCastException: class com.commerzbank.firstspirit.util.ScheduleContextAdapter cannot be cast to class de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider (com.commerzbank.firstspirit.util.ScheduleContextAdapter is in unnamed module of loader de.espirit.firstspirit.server.module.GlobalResourceLoader @78113191; de.espirit.firstspirit.server.scheduler.LegacyAccessControlDbProvider is in unnamed module of loader de.espirit.common.FactoryRegistry$LibrariesLoader @1a4013)
at com.commerzbank.firstspirit.basis2.deployment.scheduler.PostGeneration.setDeploymentQueueFiles(PostGeneration.java:168)
... 23 more
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Der LegacyAccessControlDbProvider ist nicht Teil der API und seit der Umstellung auf den Isolated-Modus auch nicht mehr im Runtime verfรผgbar. Ein Zugriff auf die generierten Dateien ist รผber die API-Methode GenerationAgent.html#getOutput() mรถglich.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
vielen Dank fรผr die Antwort. Das heiรt, es gibt im Isolated Mode รผberhaupt keine Mรถglichkeit mehr die ACL DB abzufragen?
Danke und beste Grรผรe!
Dmitrij
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mir ist zumindest keine API fรผr diesen Zweck bekannt.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke dir, der GenerationAgent hilft mir erst mal weiter.
Beste Grรผรe
Dmitrij

