I have an Android client that is roughly equivalent to the serialization
example (First Application).
Using 2.0.6 or 2.1M3 the Android client works fine using Java serialization as
the representation.
I modified the Android client to explicitly register the Jackson converter so
that I can retrieve the Contact using a JSON representation from the server.
This also works fine using 2.0.6. (I am using Jackson 1.7.1.)
Unfortunately, this does not work using 2.1M3. The Android client appears to
properly retrieve the JSON representation from the server but hangs trying to
convert the JSON representation into a Contact.
I've enclosed a stack trace obtained from the Eclipse debugger attached to the
Android AVD illustrating the context of the failure. Not sure, but this looks
like it might be associated with the new NIO stuff.
Note that this does seem to work when the client is a plain old JSE edition.
Of course I don't have to explicitly register the Jackson converter here.
Cheers,
Brian
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2721560
Thread [<9> AsyncTask #1] (Suspended)
Object.wait(long, int) line: not available [native method]
Thread.parkFor(long) line: 1424
LangAccessImpl.parkFor(long) line: 48
Unsafe.park(boolean, long) line: 337
LockSupport.parkNanos(Object, long) line: 197
AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) line: 2063
CyclicBarrier.dowait(boolean, long) line: 202
CyclicBarrier.await(long, TimeUnit) line: 400
SelectionRegistration.block() line: 173
NbChannelInputStream.onFill(Buffer, Object...) line: 233
Buffer.process(BufferProcessor, int, Object...) line: 548
NbChannelInputStream.read(byte[], int, int) line: 303
ByteSourceBootstrapper.ensureLoaded(int) line: 340
ByteSourceBootstrapper.detectEncoding() line: 116
ByteSourceBootstrapper.constructParser(int, ObjectCodec,
BytesToNameCanonicalizer, CharsToNameCanonicalizer) line: 197
JsonFactory._createJsonParser(InputStream, IOContext) line: 542
JsonFactory.createJsonParser(InputStream) line: 389
ObjectMapper.readValue(InputStream, Class) line: 1441
JacksonRepresentation.getObject() line: 136
JacksonConverter.toObject(Representation, Class, UniformResource) line:
163
ConverterService.toObject(Representation, Class, UniformResource) line:
158
ClientResource(UniformResource).toObject(Representation, Class) line:
695
ClientResource$1.invoke(Object, Method, Object[]) line: 1829
$Proxy7.retrieve() line: not available [native method]
ContactActivity2$RetrieveContactTask.doInBackground(Void...) line: 75
ContactActivity2$RetrieveContactTask.doInBackground(Object...) line: 1
AsyncTask$2.call() line: 185
FutureTask$Sync.innerRun() line: 306
AsyncTask$3(FutureTask).run() line: 138
ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1088
ThreadPoolExecutor$Worker.run() line: 581
Thread.run() line: 1019