Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich habe hier ein Problem, dass ich nicht nachvollziehen kann. Ich habe ein Import-Script geschrieben, dass ich problemlos im Sitearchiteken starten kann und dann ohne Probleme durchläuft.
Wenn den gleichen Aufruf der Executable aber in einen Auftrag verpacke und starten bekomme ich einen IOError wegen einer classmapping.ini
Es handelt sich um ein Cloud Projekt. Für die Connection wird eine eigenen Verbindung aufgebaut.
INFO 06.10.2021 09:23:17.279 (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): starting task 'Import' - schedule entry 'Full Pim Import' (id=111969)
ERROR 06.10.2021 09:23:18.421{dNR=} (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : de.espirit.firstspirit.common.IOError: de.espirit.firstspirit.common.IOError: cannot load resource de/espirit/firstspirit/server/classmapping.ini
de.espirit.firstspirit.common.IOError: de.espirit.firstspirit.common.IOError: cannot load resource de/espirit/firstspirit/server/classmapping.ini
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:600)
at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:678)
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:737)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:919)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.logicjoe.fs.warema.pim.FullPimImportExecutable.addExistingDatasetsToCache(FullPimImportExecutable.java:1491)
at com.logicjoe.fs.warema.pim.FullPimImportExecutable.execute(FullPimImportExecutable.java:97)
at de.espirit.ps.warema.mam.access.AbstractExecutable.execute(AbstractExecutable.java:20)
at de.espirit.firstspirit.server.script.ClassCallerEngine$ContextLoaderExecutable.execute(ClassCallerEngine.java:110)
at de.espirit.firstspirit.server.script.PermissionsScriptEngine$PermissionsExecutable.lambda$execute$1(PermissionsScriptEngine.java:83)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at de.espirit.firstspirit.server.script.PermissionsScriptEngine$PermissionsExecutable.execute(PermissionsScriptEngine.java:88)
at de.espirit.firstspirit.server.script.PermissionsScriptEngine$PermissionsExecutable.execute(PermissionsScriptEngine.java:83)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:109)
at de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor.run(ScriptTaskExecutor.java:162)
at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2611)
at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2594)
at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.call(ScheduleManagerImpl.java:2525)
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:491)
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:834)
at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:58)
Caused by: de.espirit.firstspirit.common.IOError: cannot load resource de/espirit/firstspirit/server/classmapping.ini
at de.espirit.firstspirit.server.ServerManagerImpl.getClassMapping(ServerManagerImpl.java:1952)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at de.espirit.firstspirit.server.io.CallContextManagerProvider$ManagerInvoker.invoke(CallContextManagerProvider.java:93)
at com.sun.proxy.$Proxy37.getClassMapping(Unknown Source)
at de.espirit.firstspirit.server.io.AbstractServerConnection.getClassMapper(AbstractServerConnection.java:822)
at de.espirit.firstspirit.store.access.templatestore.TableTemplateImpl.getMappingClassLoader(TableTemplateImpl.java:382)
at de.espirit.firstspirit.store.access.templatestore.TableTemplateImpl.loadMappings(TableTemplateImpl.java:369)
at de.espirit.firstspirit.store.access.templatestore.TableTemplateImpl.getMappings(TableTemplateImpl.java:160)
at de.espirit.firstspirit.store.access.templatestore.TableTemplateImpl.getMappings(TableTemplateImpl.java:142)
at de.espirit.firstspirit.store.access.templatestore.TableTemplateImpl.getMappings(TableTemplateImpl.java:135)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil.getMapping(ContentUtil.java:249)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil$3.getMapping(ContentUtil.java:221)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil$3.get(ContentUtil.java:174)
at de.espirit.firstspirit.store.access.DataWrappingFormData.get(DataWrappingFormData.java:91)
at de.espirit.firstspirit.client.access.editor.FormDataImpl.get(FormDataImpl.java:161)
at de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData.get(EntityFormData.java:153)
at com.logicjoe.fs.warema.pim.FullPimImportExecutable.lambda$addExistingDatasetsToCache$27(FullPimImportExecutable.java:1490)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:952)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:926)
at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Vielen Danke und viele Grüße,
Lars
Hallo Lars,
ich habe leider keine Lösung für dein Problem, hört sich aber so an als müsstes du das Modul so bauen dass es auch mit dem IsolatedMode klar kommt: Leitfaden Isolated Mode - Isolated vs. Classic
Hoffe das hilft etwas weiter.
Viele Grüße
Steffen
Hi Steffen,
hab das Problem gefunden, man sollte nicht multithreaded (parallelStream) arbeiten, dann gehts auch im Auftrag. 😉