]
Adrian Nistor resolved IPROTO-38.
---------------------------------
Fix Version/s: 4.2.0.Alpha6
(was: 4.2.0.Alpha5)
(was: 4.1.2.Final)
Resolution: Done
ProtoSchemaGenerator fails in Karaf: CNFE:
org.infinispan.protostream.RawProtobufMarshaller
-------------------------------------------------------------------------------------------
Key: IPROTO-38
URL:
https://issues.jboss.org/browse/IPROTO-38
Project: Infinispan ProtoStream
Issue Type: Bug
Affects Versions: 3.0.0.Alpha1
Reporter: Adrian Nistor
Assignee: Adrian Nistor
Fix For: 4.2.0.Alpha6
Attachments: stacktrace.txt
This was tested and fails with Karaf ver. 2.4.4, 3.0.8, 4.1.3.
This seems to be a classloading issue that is only happening when using annotation based
protobuf marsahlling.
The bytecode generation that happens under the hood using javassist fails. The reason was
found to be the wrong classloader used by the javassist ClassPool. Relying on the default
(thread context classloader) works usually, but not in OSGi. The fix is to pass the
classloader that loaded the protostream bundle to the ClassPool instead, but
ClassPool's constructors do not allow that, so we need another creative solution.