[
https://issues.jboss.org/browse/IPROTO-38?page=com.atlassian.jira.plugin....
]
Adrian Nistor updated IPROTO-38:
--------------------------------
Description:
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.
was:
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 marshalling.
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 some way
or the other the classloader that loaded the protostream bundle to the ClassPool.
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.Alpha5
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.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)