stefan_brauneis
I'm new here

Verwendung von lambda (java 8) in einer Service-Implementierung

Hallo zusammen,

FirstSpirit-Version: 5.2.212.71463

in einem Module habe ich einen Service implementiert, dieser Service enthält einige Klassen und verwendet Java 8-Features wie bspw. Lambdas. Dies funktioniert auch soweit.

Ein Problem tritt allerdings auf, wenn die Implementierung des Service einen Lambda-Ausdruck enthält (also die Klasse, die im <class>-Element des Service definiert ist).

Dann erhalte ich folgenden Stack-Trace:

java.lang.IllegalStateException: Failed reading 'jar:file:<JAR-File-Name>' - illegal class file format? - java.lang.ArrayIndexOutOfBoundsException

    at de.espirit.firstspirit.module.TypeCollectorImpl.collect(TypeCollectorImpl.java:52)

    at de.espirit.firstspirit.module.ClassScanner$ClassScannerImpl.check(ClassScanner.java:105)

    at de.espirit.firstspirit.module.ClassScanner.implementsOrExtendsClass(ClassScanner.java:71)

    at de.espirit.firstspirit.module.ClassScanner.implementsOrExtendsClass(ClassScanner.java:50)

    at de.espirit.firstspirit.server.module.ModuleManagerImpl.getComponents(ModuleManagerImpl.java:1196)

    at de.espirit.firstspirit.server.module.ModuleManagerImpl.getComponents(ModuleManagerImpl.java:1162)

    at de.espirit.firstspirit.client.GadgetComponentServiceImpl.init(GadgetComponentServiceImpl.java:52)

    at de.espirit.firstspirit.client.GadgetComponentServiceImpl.classLoaderChanged(GadgetComponentServiceImpl.java:45)

....

Wenn ich den Lambda-Ausdruck entsprechend wieder ersetze funkionert wieder alles.

Ist dies ein bekanntes Problem/Einschränkung bzw. kann das ggf. behoben werden?

Schöne Grüße

Stefan Brauneis

0 Kudos
1 Reply
pavone
I'm new here

Hallo Stefan,

das ist tatsächlich ein bekanntes Problem. Ich kann dir leider nicht verlässlich sagen, wann es behoben sein wird. Womöglich allerdings schon mit FirstSpirit 5.2 R4.

Du kannst dich mit der Ticket-ID 183007 an unseren Technical Support wenden, um weitere Informationen oder Neuigkeiten bzgl. dieses Problem zu erhalten.

Viele Grüße

Tim

0 Kudos