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 

Reply via email to