• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Appengine Java Night #2b
 

Appengine Java Night #2b

on

  • 1,604 views

 

Statistics

Views

Total Views
1,604
Views on SlideShare
1,600
Embed Views
4

Actions

Likes
1
Downloads
23
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Appengine Java Night #2b Appengine Java Night #2b Presentation Transcript

    • appengine java night #2 α shin1ogawa@
    • AppEngine AppEngine ApiProxy#getDelegate() Delegate Web Delegate Web ApiProxy #getCurrentEnvironment() Environment (ApplicationID, versionID )
    • AppEngine JUnit SDK Web ApiProy • Environment ApiProxy#setEnvironmentForCurrentThread() • Delegate ApiProxyLocalImpl ApiProxy#setDelegate()
    • Environment • • ApplicationID, versionID, • Web SingleThread • ApiProxy#setEnvironmentForCurrentThread()
    • Delegate : ApiProxyLocalImpl • Delegate Delegate • • WEB-INF/queue.xml datastore-indexes.xml
    • Delegate • Delegate • … / • ApiProxy#getDelegate() AOP
    • Delegate class MyDelegate implements Delegate { Delegate original = ApiProxy.getDelegate(); public byte[] makeSyncCall( Environment environment, String service, String method, byte[] request) throws ApiProxyException { System.out.println(service+”:”+method); return original.makeSyncCall( environment, service, method, requst); } }
    • makeSyncCall() byte[] Delegate#makeSyncCall( Environment environment, String service, String method, byte[] request) throws ApiProxyException
    • makeSyncCall() byte[] Delegate#makeSyncCall( Environment environment, String service, String method, byte[] request) throws ApiProxyException
    • makeSyncCall() • datastore_v3#GET • : DatastorePb.GetRequest • new GetRequest().mergeFrom(byte[]) • GetRequest#keyIterator() Key Iterator • : DatastorePb.GetResponse • new GetResponse().mergeFrom(byte[]) • GetResponse#entityIterator() Entity Iterator
    • • Mail • MailService Delegate#makeSyncCall() Stub • makeSyncCall() byte[] MailServicePb.MailMessage MailMessage#getCC()... assert
    • • … • datastore_v3#GET • memcache#GET datastore mamcache#GET • datastore_v3#PUT/DELETE • memcache#DELETE datastore
    • shin1ogawa@