Offline Cache

I have a requirement to render a screen on a thick-client that contains data from the server (that's the simple bit), however if the network connection to the server is unavailable the most recent image of the data should be used instead.
I'm looking at Coherence to provide this functionality but I'm a bit confused about the newer external-scheme functionality and although I can find plenty of docs telling me what's possible I'm having trouble finding docs telling me how.
Where I've got to is configuring a near-scheme with a local-cache as a front-scheme and an external-scheme(lh-file-manager) as the back-scheme. I don't understand the eviction policy configuration for this though and my suspicion is that I've got this wrong.
Can anyone offer me any advice on how to implement this?
Thanks,
Matt.

Hi Matt,
Here is an example cache configuration for the topology described by Jon above:
<pre>
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>jms-local</cache-name>
<scheme-name>jms-local</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<local-scheme>
<scheme-name>jms-local</scheme-name>
<eviction-policy>HYBRID</eviction-policy>
<high-units>1000</high-units>
<expiry-delay>10m</expiry-delay>
<flush-delay>1m</flush-delay>
<cachestore-scheme>
<jms-scheme>
<scheme-ref>jms-adapter</scheme-ref>
</jms-scheme>
</cachestore-scheme>
</local-scheme>
<jms-scheme>
<scheme-name>jms-adapter</scheme-name>
<queue-connection-factory-name>jms/tangosol/ConnectionFactory</queue-connection-factory-name>
<topic-connection-factory-name>jms/tangosol/ConnectionFactory</topic-connection-factory-name>
<queue-name>jms/tangosol/Queue</queue-name>
<topic-name>jms/tangosol/Topic</topic-name>
<request-timeout>30</request-timeout>
</jms-scheme>
</caching-schemes>
</cache-config>
</pre>
Client machines that use this cache configuration would maintain a size-limited (1000 objects), time-limited (10 minutes/cached object) cache of objects retrieved from a remote Coherence NamedCache via JMS. If the cache server(s) go down, the client would still be able to retrieve locally cached data.
<p/>
Additional information on configured and using Coherence-Extend*JMS can be found here: http://www.tangosol.com/userguide.jsp#title_0_8

Similar Messages

  • Gmail stops working until i delete the offline cache folder. why?

    Using the Apple Mail Client, my G-Mail account stops updating every couple weeks.  I found through forums that if I delete the offline cache folder (it's hidden, library-mail-account) everything goes back to normal.  Why is this happening and why hasn't it been fixed?  I'd appreciate any insight!

    Hi Eric,
    Since it doesn't happen to gMail on several Macs & OSX versions from 10.4.5 to 10.7.4 & beyond, I suspect Disc corruption, or possibly RAM, have you checked either?

  • Problems with offline caching

    In a recent AIR 2.6 application I use the offline caching feature of LCDS 3.1
    The application itself uses a Java 6 / Spring 3 / JPA 1 / Hibernate stack (custom code, not using LC model driven development). For offline support, I started with the sample code from the LCDS 3.1 documentation which works ok in most cases - at least, if I fetch collections when online, then go to offline mode and fetch the same collections from the cache. This works fine and the SQLite data base gets created correctly.
    However, as soon as I start calling fill() on a DataService in offline mode on a collection that has *not* been fetched before or try to load an lazy association which has not been fetched before, the DataService "hangs" in terms of that the AsyncToken returned by that fill() method never fires a result or fault event.
    The last thing that happens in the client is
      [DEBUG] mx.data.SQLDBCache SQLDBCache - before select: SELECT id,data FROM [ORGANIZATION_FAVSOrganization]
    and that’s it. In this case I don’t get any further feedback and the DataService does not create a result or fault event, it does not even time out. Not sure if this is by design or not but as I’m listening for result/faults event to display/hide progress indicators gives me a lot of headaches on how to control them in offline mode.
    Any ideas?
    Thanks,
    Dirk

    Harry, thank you for your immed response.
    I think I might have posted my problem under a wrong thread. I am facing this issue for older version of LCDS which I downloaded couple of years back.. it says ES 2.6 and am still a bit confused about the version numbers.
    That being said, my problem is exactly the same. Everything works fine when LCDS server is reachable. However when offline, Fill() just does not call any of the handlers.
    In case if you can still help:
    Here is the DS definition:
         public class UsersDataService extends EventDispatcher implements IFITDataService
              private var mDS:DataServiceWrapper;
              private var mAllUsers:ArrayCollection;
              public function UsersDataService()
                   mDS = new DataServiceWrapper("UserInfo");
                   mDS.cacheID = "allusers"
                   mAllUsers = new ArrayCollection();
                   mDS.addEventListener(DataServiceFaultEvent.FAULT,OnFault);
                   mDS.autoConnect = true;
              public function getAllUsers(locationId:String):void
                   mDS.addEventListener(ResultEvent.RESULT, OnResult);
                   if(mDS.isCollectionManaged(mAllUsers))
                        mDS.refreshCollection(mAllUsers);
                   else
                        mDS.fill(mAllUsers, locationId);
              public function getUser(userName:String):void
                   mDS.addEventListener(ResultEvent.RESULT, OnResult);
                   mDS.getItem({ID:userName});
              public function OnResult(event:ResultEvent):void
                   mDS.removeEventListener(ResultEvent.RESULT, OnResult);
                   trace(event)
                   var dsEvent:DataServiceEvent = new DataServiceEvent(DataServiceEvent.Result)
                   dsEvent.user = event.result
                   dispatchEvent(dsEvent);
              public function OnFault(event:FaultEvent):void
                   trace(event)
              public function getData(locationId:String):void
                   getAllUsers(locationId);
              public function refresh():void
                   if(mDS.isCollectionManaged(mAllUsers))
                        mDS.addEventListener(ResultEvent.RESULT, OnResult);
                        mDS.refreshCollection(mAllUsers);
                   else
                        getAllUsers(FITSession.regLocationID);
              public function get users():ArrayCollection
                   return mAllUsers
              public function get connected():Boolean
                   return mDS.connected;
    I am also attaching the 'allusers' db
    Thanks much!

  • Windows 8 offline cache

    In Windows 7 you can run a fix it that will reinitialize the offline cache.  I will need to do that if for example i connect it to a new Server /domain.  Well how do you do this in Windows 8?  There is no Microsoft fix it for Windows 8. 
    The Windows 7 one doesn't work.  And you can't delete the files manually in the offline cache folder because of permissions issues.  I tried accessing the actual folder where they are stored CSC folder but getting access to the folder screws up offline
    files and they will no longer work, it will say syncing files but it's not syncing. I have looked and found no answer on this.
    Is this one of the stupid ways that Microsoft is telling us that you shouldn't use offline files anymore, like mapped drives.  You can still map drives, but your software programs won't see them, just the UNC paths. 
    Why don't they just take it away for crying out loud.

    Windows 8 Pro.  So you don't think it's stupid that you can't delete the offline cache
    In Windows XP you hold down ctrl + shift + delete
    In Windows 7 you can reinitialize the cache using the Fix-it Msi
    In Windows 8 you can..........
    I am sorry if wanting to remove Gigabytes of data that isn't relevant, data that is taking up cache space is making me unhappy.  And it's not like turning off offline cache space deletes the cache.  It doesn't.  And that Folder Redirection
    turns it on by default so good luck getting the space back if you didn't want it on.  You will have to hack the folder and then never be able to use it again.  When I spend hours trying to fix something that can't be fixed, that on Windows 7 would
    have been fixed in 1 min...........
     What am I supposed to say.
    It is not exactly a clean solution, but why don't you disconnect from the network, hit windows button, type manage offline files, open the sync center, view your offline files, delete all the files (it will only delete your local copies), change
    the offline storage limit to the lowest setting, disable offline files, then reboot.  It isn't as simple as resetting was but it will give you the space back.
    Richard

  • OData SDK offline cache - locking problem in backend

    Hi,
    we run into a massive problem when using the offline cache capabilities of the SDK.
    In backend we use SAP standard RFC BAPIs to update changes to data (CRM)´.
    As the requests were sent very fast from the app to the backend when online again, we have locking errors as it could happen that more fields of an entity where changed and every change creats an request, we found no merge possibility?
    regards
    Meex

    Hi,
    thx for your reply. Our partner just uses default implementation of SAP offline cache
    [RequestBuilder setDelegate:self];
    [RequestBuilder setDidFinishSelector:@selector(requestDidFinishOffline:)];
    [RequestBuilder setDidFailSelector:@selector(requestDidFailOffline:)];
    Meex

  • Applets and HTML 5 Offline Cache

    Hi,
    We're doing some tests with offline application caching in HTML 5 (using Firefox 3.5 for testing).
    We can get our basic app to work offline, but the Applets refuse to load from the offline cache.
    You can see the demo here: http://3d-lab.aarkid.com/playground/html5/
    Just enter a message and it will appear in the two applets and in the HTML below (there are two because we initially thought it was a problem due to the middleware we were using, so there's a basic Applet there too). You will need to wait for the Applets to load before the controls appear.
    Now, when offline (completely offline, no Internet connection at all) the Applets are trying to load the class from their online location rather than using the cached version. (console output below)
    Is there any way to tell the Java Plug-in that it's offline or where to load the classes from?
    Thanks.
    Console:
    Java Plug-in 1.6.0_17
    Using JRE version 1.6.0_17-b04 Java HotSpot(TM) Client VM
    User home directory = C:\Users\Brian
    c:   clear console window
    f:   finalize objects on finalization queue
    g:   garbage collect
    h:   display this help message
    l:   dump classloader list
    m:   print memory usage
    o:   trigger logging
    q:   hide console
    r:   reload policy configuration
    s:   dump system and deployment properties
    t:   dump thread list
    v:   dump thread stack
    x:   clear classloader cache
    0-5: set trace level to <n>
    load: class HTML5TestApplet.class not found.
    java.lang.ClassNotFoundException: HTML5TestApplet.class
        at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
        at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
        at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.net.UnknownHostException: 3d-lab.aarkid.com
        at java.net.PlainSocketImpl.connect(Unknown Source)
        at java.net.SocksSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at sun.net.NetworkClient.doConnect(Unknown Source)
        at sun.net.www.http.HttpClient.openServer(Unknown Source)
        at sun.net.www.http.HttpClient.openServer(Unknown Source)
        at sun.net.www.http.HttpClient.<init>(Unknown Source)
        at sun.net.www.http.HttpClient.New(Unknown Source)
        at sun.net.www.http.HttpClient.New(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
        at java.net.HttpURLConnection.getResponseCode(Unknown Source)
        at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
        at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
        at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        ... 7 more
    Exception: java.lang.ClassNotFoundException: HTML5TestApplet.class

    AndrewThompson64 wrote:
    Out of curiosity. What is it you can do with JS that cannot be done with an applet and an active server (e.g. something that can run PHP, JSP, ASP..)?We require the app to run completely offline (or rather, the client does) (i.e.) no Internet connection. We have tried giving them an install with a portable apache and PHP, which has worked in the past but not for this client. So we were attempting to use HTML 5 for storing data offline, but the lack of support for offline caching in the Java Plug-in is the only thing holding us back, I guess we'll just have to wait for Sun to catch up :)

  • Smp 3.0 sp03 Offline Caching Issue in Android App

    After I apply GET request for a URL in Android app, I use mergeEntries to update cache for entries but I realized that cache.mergeEntries method just updates server cache, not a local cache.
    Also, cache.readEntriesLocal method just gives me entries that are added by cache.addEntry(entry)
    Is there any way to fill up local cache with all server entries after GET request ?

    Hi Jitendra,
    Thanks for your answer. However we are not using Kapsel in our Android app. We just try to develop native OData application that supports both online and offline mode. Thats why we follow these steps http://help.sap.com/saphelp_smp303sdk/helpdata/en/7c/0b0f9070061014a7b1c78f0f331130/content.htm?frameset=/en/7c/0af4ce70061014beb082150f67fcba/frameset.htm&current_toc=/en/7c/01cda6700610149b10c2f2a86d335b/plain.htm&node_id=29
    How can local cache be filled up with all server entries because cache.readEntriesLocal method just returns entries which are added to local cache. I mean local cache needs a method like mergeEntries to update local cache entries as well after GET operation.
    Here you can see part of our code. While entries_server param has 11 entries, entries local has just 1 entry. We want to put all 11 entries in local cache too.
    IODataFeed feed = parser.parseODataFeed(responseString, "ZmbSGroupSet('GRUP_1')/Members", schema);
    cache.mergeEntries(feed, Global.getAppEndPoint() + "ZmbSGroupSet('GRUP_1')/Members");
    Entries_server = cache.readEntriesServer(Global.getAppEndPoint() + "ZmbSGroupSet('GRUP_1')/Members");
    Entries_local = cache.readEntriesLocal("ZmbSGroupSet('GRUP_1')/Members", null);

  • Windows 8 Mapped Drives Disappear - Offline Cache

    Hi, 
    We have a Windows 8 machine that has a mapped network drive and we enabled this to be "always available".
    When the laptop is connected to the domain the mapped drive is there fine, and you can see that the offline file symbol is on the network folder! However when you reboot the machine and it is not connected to the network the folder disappears from My Computer!
    If I then open "run" and type the folder path of the server where this mapped drive is mapped to i am able to view the files fine so they are there and working offline but not via My Computer or the drive letter.
    I have tried the following:
    Disable and re-enable offline files
    Remove all offline files and then re-sync 
    Any suggestions very much appreciated!
    Thanks

    Check the Sync Center settings.
    Control Panel --> Sync Center
    Click Manage offline files and select the General tab.
    Verify that the status is showing enabled.

  • How to Move Offline Files Cache in Windows 7?

    I'm using the offline files feature in Win7 (much better implementation, btw - kudos!) and I've run into a problem:  the CSC is using up all the drive space on C:\.  I'd like to move the CSC to D:\, however I've been unable to do so.
    I've seen this posted here previously (2/2009), however the response was to follow the instructions from Vista (using migwiz.exe).  When I launch migwiz.exe, I have no option of selecting the offline files as outlined in the Vista instructions (http://blogs.technet.com/filecab/archive/2006/12/12/moving-the-offline-files-cache-in-windows-vista.aspx).
    Are there any other ways of doing this?
    Thanks!

    Hi everyone,
    I have found a way to move the offline cache in W7, but it means you have to reset your existing offline files, give the new location, and resync the folders in the new location.
    Here is what to do (if you haven't synchronised any offline files yet, for exemple after a clean install, you can start directly in step 3):
    0) Make sure your existing offline files are synchronised with the server, as you are going to lose ALL the offline copies and you don't want to lose any new/modified files. Make a backup if you're not sure and if the files are important.
    1) reset the content of the old cache by adding the following command in a batch file and running it (of course you can add the parameter in the registry manually, but it's quite handy to have the batch ready whenever you need to reset the cache):
    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v FormatDatabase /t REG_DWORD /d 1 /f
    2) Reboot, the added key will be detected, all the content of the cache will be deleted, as well as the key itself (it only resets once)
    3) Add the following registry key in the same HKLM\System\CurrentControlSet\Services\CSC\Parameters section of the registry:
    Type: REG SZ (string)
    Name: CacheLocation
    Value: the new location in NT format, ie \??\d:\csc if you want to create the new cache in d:\csc
    4) Create the folder in the new location
    5) Reboot (not sure if it's necessary, but better safe than sorry)
    6) Reselect the files/folders you want to sync offline, and they should sync in the new location.
    7) If you want to, you can delete the old cache location in c:\windows\csc by following the end of the vista procedure linked in the first post (using takeown etc)
    It worked for me (Win7 RTM x86), let us know if it works for you...
    Obviously it won't help if you don't want to / can't resynchronise, but if you're starting from scratch or don't mind resyncing from scratch, it's a good workaround.
    EDIT: if you sync a lot of files and get a lot of errors, try to reset your offline files again following the above procedure (steps 1-2), disable offline files, reboot, enable offline files, reboot, and resync your files. Again, it worked for me...

  • Can't get browser.cache.disk.parent_directory to work

    I've tried to use the browser.cache.disk.parent_directory method to move my disk cache, but this isn't working.
    Details:
    I did a clean install of Firefox 22 on Vista, and then, following instructions, went into about:config, created the browser.cache.disk.parent_directory key, and gave it the value of a directory I had created.
    I then visited many different sites (no, not in private browsing mode), and noticed nothing was being saved there. In fact, the new directory is absolutely empty (no hidden folders either).
    Looking at about:cache, I am informed:
    Offline cache device
    Number of entries: 0
    Maximum storage size: 512000 KiB
    Storage in use: 0 KiB
    Cache Directory: C:\Users\XXX\AppData\Local\Mozilla\Firefox\Profiles\XXX.default\OfflineCache
    And yes, browser.cache.disk.enable is set to true.
    This is true regardless of whether I am using my admin account with no extensions or my standard user account with several extensions.
    Advice?

    the-edmeister, I carefully read the material in your link before making the changes, and then again before posting this question, and yet again now. I hate to be snide, but can you point out what there is in this link that addresses my question? (And yes, browser.cache.disk.capacity is obviously set to a positive value.)
    If it helps, I'm attaching a screencap from about:config.

  • How do I create DRM Licenses that can be used for Offline Playback?

    [ Background ]
    Typically, a license is acquired from the DRM license server when the client video player encounters a video that is DRM-protected.   However, some use cases call for the ability for end-users to be able to play DRM content when a network connection is not available to the device.
    For example - the user wants to download a video from their home, acquire a license to play the content, and then get onto a train/airplane where a network connection isn't available.  On the train/airplane/etc..., the end user expects to be able to watch their video that they downloaded at home.
    [ DRM Policy Requirements ]
    For this use case to be possible, the DRM license must be acquired when the network connection is available.  In addition, the DRM license must be allowed to persist on the device disk.  For this to be possible, one value must be present in the DRM policy:
    1. Offline License Caching must be set to 1 or higher.  This policy parameter indicates how many minutes a license is allowed to be persisted to disk once it's been acquired by the license server.
    [ Workflow ]
    Now that the content has been packaged with a DRM policy that allows for offline caching (persistance) of a license, the video player simply has to acquire the license before the network connection is lost.  This can be accomplished via the typical API calls that the Video Player Application Developer would use to do a normal DRM license acquisition (DRMManager.loadVoucher()).
    For example, by using the DRMManager ActionScript3 API: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/drm/DRMManage r.html
    For other platforms supported by Adobe Access DRM (iOS, Android, etc...), please refer to the appropriate documentation around playback of DRM content on how to pre-fetch the DRM license.
    [ Workflow - iOS ]
    Enabling offline playback using the Primetime Media Player SDK (PSDK) for iOS requires a bit of self-extraction & instantiation of the DRM Metadata from the m3u8.  The reason for this is that as of PSDK v1.2, the PSDK APIs do not expose an mechanism for extracting the DRM metadata.
    You must manually (outside of the PSDK) get access to the DRM Metadata, instantiate a DRMContentData, and then use the DRMManager class to obtain a license for your content.  Afterwards, you may download your HLS content and stream it to your video player application locally.  Since the DRM license was pre-acquired before playback of the downloaded HLS content, your video player application does not require a network connection to acquire a DRM license.  Below is a code sample of obtaining the DRM Metadata from the m3u8 manifest and then using it with the DRMManager singleton.
    /*          Main entry points, playlistURL is url to a top level m3u8. */
    void PlayContent(NSURL* playlistURL)
              DRMManager* drmManager = [DRMManager sharedManager];
              if ([drmManager isSupportedPlaylist:playlistURL])
      // First we need a handler for any errors that may occur
                        DRMOperationError errorHandler = ^(NSUInteger major, NSUInteger minor, NSError* nsErr)
      /*          report error. */
      /*          Synchronous call to DRM manager to extract DRM metadata out of the playlist. */
                        [_drmManager getUpdatedPlaylist:playlistURL
                                                                                      error:errorHandler
                                                                                    updated:^(NSURL *newPlaylist, DRMMetadata *newMetadata)
                                   (void) newPlaylist; /*          updated URL is not used for this code sample. */
                                   if (newMetadata)
                                                      Assumes we are going to try to satisfy requirements to acquire license on the first policy in the metadata.
                                                      If there are multiple policies in the metadata, only 1 of them need to be satisfied for the license request to
                                                      go through.                                          
                                             DRMPolicy* drmPolicy = NULL;
                                             for (id object in newMetadata.policies) {
                                                       DRMPolicy* drmPolicy = (DRMPolicy*)object;
                                                       break;
                                             if (drmPolicy == NULL)
                                                       /*          report error, this metadata is malformed. DRM metadata must contain at least 1 policy*/
                                             if (drmPolicy.authenticationMethod != ANONYMOUS)
    However, please note that the above only describes the DRM license handling for offline playback.  The actual playback of video using the Primetime client SDK is not officially supported.  You will have to use your own mechanism of saving and playback back HLS content locally within the application.
    Theoretically, it is possible to save the HLS stream to the app, and then embed an HTTP server to the app to stream the HLS content back into the application.  However, the Primetime client SDK doesn't not expose a way to do this directly, since it's not yet supported.
    cheers,
    /Eric.

    no, the headers, here's a picture of the headers on this page. When I use SEO for Firefox, it sees them on every other page but never on my iweb sites.
    Quickpost this image to Myspace, Digg, Facebook, and others!

  • Error occurred saving the cache

    I'm creating an AIR application using the Model Driven Development tools and hoping to make use of the offline cache. The generated value objects and services are working well when connected but I have been unable to get the cache working.
    Currently I am generating custom offline adaptors for each of my Model entities and assigning them to the offlineAdapter property of each data service as follows:
      _terminalService.serviceControl.autoCommit=false;
      _terminalService.serviceControl.autoConnect=true;
      _terminalService.serviceControl.fallBackToLocalFill=true;
      _terminalService.serviceControl.autoSaveCache=true;
      _terminalService.serviceControl.autoMerge=true;
      _terminalService.serviceControl.autoSyncEnabled=true;
      _terminalService.serviceControl.encryptLocalCache=false;
      _terminalService.serviceControl.offlineAdapter=new TerminalOfflineAdapter();
      _terminalService.serviceControl.cacheID="ss-sclient-39";
    When I run my application it works as anticipated but I am seeing the following error in the console log:
    7/27/2010 12:21:25.677 [DEBUG] mx.data.DataStore Saving cached query: store id: ["getByMacAddress","001CC4313675"] lastWritten: Tue Jul 27 12:21:25 GMT+0100 2010 lastAccessed: Tue Jul 27 12:21:25 GMT+0100 2010 created: Tue Jul 27 12:21:25 GMT+0100 2010 metadata: (null) type: 1 referenced ids: ["common.Terminal:#:13"]
    7/27/2010 12:21:25.677 [DEBUG] mx.data.LSODataStore dbStore lock released: 965366152
    7/27/2010 12:21:25.677 [ERROR] mx.data.DataStore Error occurred saving the cache: TypeError: Error #1009: Cannot access a property or method of a null object reference. stack: TypeError: Error #1009: Cannot access a property or method of a null object reference.
         at mx.data.offline::EntityManager/save()[C:\depot\DataServices\trunk\frameworks\projects\airfds\src\mx\data\offline\EntityManager.as:104]
         at mx.data.offline::EntityManager/update()[C:\depot\DataServices\trunk\frameworks\projects\airfds\src\mx\data\offline\EntityManager.as:345]
         at mx.data::SQLiteOfflineAdapter/updateOfflineItems()[C:\depot\DataServices\trunk\frameworks\projects\airfds\src\mx\data\SQLiteOfflineAdapter.as:120]
         at mx.data::DataStore/persistCacheItems()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:4543]
         at mx.data::DataStore/persistDataService()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:4679]
         at mx.data::DataStore/doSaveCache()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:3755]
         at Function/()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:3711]
         at mx.data::DataStore/http://www.adobe.com/2006/flex/mx/internal::saveCache()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:3727]
         at mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::processSequenceResult()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataList.as:3063]
         at mx.data::DataListRequestResponder/result()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataListRequestResponder.as:103]
         at mx.rpc::AsyncRequest/acknowledge()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:84]
         at NetConnectionMessageResponder/resultHandler()[E:\dev\4.x\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:547]
    If I then disconnect from the server and attempt to run my client again I get the following error:
    7/27/2010 12:27:46.548 [DEBUG] mx.data.DataService.common.Terminal DataService.fill() called for destination: common.Terminal with args: ["getByMacAddress","001CC4313675"] includesProperties: (include default - excludes: [])
    7/27/2010 12:27:46.548 [INFO] mx.messaging.Producer 'ds-producer-common.Terminal' producer sending message 'EF832901-F3A4-7AE3-EF12-13A8897408CC'
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
         at mx.data.offline::EntityManager/executeSelectQuery()[C:\depot\DataServices\trunk\frameworks\projects\airfds\src\mx\data\offline\EntityManager.as:446]
         at mx.data.offline::EntityManager/executeQuery()[C:\depot\DataServices\trunk\frameworks\projects\airfds\src\mx\data\offline\EntityManager.as:432]
         at mx.data::SQLiteOfflineAdapter/internalExecuteOfflineQuery()[C:\depot\DataServices\trunk\frameworks\projects\airfds\src\mx\data\SQLiteOfflineAdapter.as:318]
         at mx.data::SQLiteOfflineAdapter/executeOfflineQuery()[C:\depot\DataServices\trunk\frameworks\projects\airfds\src\mx\data\SQLiteOfflineAdapter.as:202]
         at Function/()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:1651]
         at mx.data::DataStore/http://www.adobe.com/2006/flex/mx/internal::fill()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:1765]
         at mx.data::ConcreteDataService/internalFill()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\ConcreteDataService.as:7235]
         at Function/()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\ConcreteDataService.as:1317]
         at mx.data::ConcreteDataService/fill()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\ConcreteDataService.as:1336]
         at mx.data::DataManager/fill()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataManager.as:1560]
         at _Super_TerminalService/getByMacAddress()[C:\Documents and Settings\benp.NB\My Documents\src\qms\workspace\CommonClient\src\common\model\_Super_TerminalService.as:226]
         at airclient.application::AirClientImpl/initialiseTerminalDetails()[C:\Documents and Settings\benp.NB\My Documents\src\qms\workspace\AirClient\src\airclient\application\AirClientImpl.as:146]
         at Function/()[C:\Documents and Settings\benp.NB\My Documents\src\qms\workspace\AirClient\src\airclient\application\AirClientImpl.as:268]
         at mx.collections::ItemResponder/result()[E:\dev\4.x\frameworks\projects\framework\src\mx\collections\ItemResponder.as:129]
         at mx.rpc::AsyncToken/http://www.adobe.com/2006/flex/mx/internal::applyResult()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AsyncToken.as:239]
         at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\events\ResultEvent.as:207]
         at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::dispatchResultEvent()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\ConcreteDataService.as:3427]
         at Function/http://adobe.com/AS3/2006/builtin::apply()
         at mx.rpc::AsyncDispatcher/timerEventHandler()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AsyncDispatcher.as:50]
         at flash.utils::Timer/_timerDispatch()
         at flash.utils::Timer/tick()
    I'm slightly confused by the fact that the offline adaptors are derived from SQLiteOfflineAdapter and are being run within an AIR application but I am still seeing references to the LSODataStore in the logs (which I thought was only used for Flash applications). Also if I attempt to set encryptLocalCache to true I get the following error:
    7/27/2010 12:32:10.409 [DEBUG] mx.data.DataStore Adding data service: common.Terminal to the data store: my-rtmp:true initialized: false
    Error: Encryption is not supported for local shared objects.
         at mx.data::LSODatabase/set encryptLocalCache()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\LSODatabase.as:149]
         at mx.data::DataStore/set encryptLocalCache()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:391]
         at mx.data::ConcreteDataService/set encryptLocalCache()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\ConcreteDataService.as:227]
         at mx.data::DataManager/set encryptLocalCache()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataManager.as:392]
         at airclient.application::AirServiceFactory/configureService()[C:\Documents and Settings\benp.NB\My Documents\src\qms\workspace\AirClient\src\airclient\application\AirServiceFactory.as:236]
    Does anyone know what's going on here?
    Thanks!

    Ah, thanks! That certainly solves the LSO issue - I've changed to linking with airfds.swc and I'm now seeing lots of healthy looking SQLDBCache output in the logs when I run the application with a connection. Unfortunately if I then stop the server and run the application again I'm still seeing a problem. The app does load some data from the cache (I have several services) but then stops with the following error before it can load everything:
    7/27/2010 15:43:46.929 [DEBUG] mx.data.SQLDBCache SQLDBCache - getCollection(_common.Customer_ic) creating new collection
    7/27/2010 15:43:46.929 [DEBUG] mx.data.SQLDBCache SQLDBCache - before load data - create table if not exists: CREATE TABLE IF NOT EXISTS [_common_Customer_ic] (id VARCHAR PRIMARY KEY, data BLOB);
    7/27/2010 15:43:46.960 [DEBUG] mx.data.SQLDBCache SQLDBCache - after load data - create table if not exists
    7/27/2010 15:43:46.960 [DEBUG] mx.data.SQLDBCache SQLDBCache - before select: SELECT id,data FROM [_common_Customer_ic]
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
         at mx.data::DataStore/restoreReferencedIds()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:4766]
         at mx.data::DataStore/restoreReferencedItems()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:4736]
         at mx.data::DataStore/restoreAssociations()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:4880]
         at mx.data::DataStore/restoreReferencedItems()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:4759]
         at Function/()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\DataStore.as:1742]
         at mx.rpc::Responder/result()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:56]
         at mx.rpc::AsyncToken/http://www.adobe.com/2006/flex/mx/internal::applyResult()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AsyncToken.as:239]
         at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\events\ResultEvent.as:207]
         at Function/http://adobe.com/AS3/2006/builtin::apply()
         at mx.rpc::AsyncDispatcher/timerEventHandler()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AsyncDispatcher.as:50]
         at flash.utils::Timer/_timerDispatch()
         at flash.utils::Timer/tick()
    In both connected and disconnected operation there is no user input, so the sequence of queries should be identical. Each service I use is configured identically except that they each use their own automatically-generated OfflineAdaptor. Any suggestions?
    Many thanks

  • Offline Files (Background) Sync makes File Explorer and other programs responding slow

    Hi TechNet,
    I have a problem with Offline Files and
    especially with VPN users.
    For VPN users, the slow-link
    policy is activated with a background
    sync interval of one hour. But, when Offline Files is syncing, their File Explorer is hanging (not responding) by creating new files/folders, deleting files/folder, or rename files/folders. This happens only in their (redirected)UserData
    folder or with other DFS shares which are cached locally. In other programs (Outlook or Office 2010) when they save data in the UserData folder exactly the same things happens (not responding).
    This problem occurs in both the
    internal network and via VPN, so bandwidth is
    not the problem. When the sync is finished, everything is working fine again.
    I've tested:
    - Offline mode with scheduled background sync: problem occurs
    - Online mode with manual sync: problem occurs
    - Rebuild offline cache database: no effect
    - Tested with fresh Windows 8(.1) installations and user profiles: problem occurs
    - Monitoring SMB traffic with WireShark: no result
    - Montoring Windows 8(.1) clients with procmon: no result
    - Tested with full DFS paths: problem occurs
    - Disable IPv6: problem occurs
    - Disable Windows Search: problem occurs
    - Browsing in the Offline Files folder (Sync Center -> Manage Offline Files -> View Offline Files) is very slow (with +- 200 files). This occurs also when Offline Files is not syncing.
    Does anyone have an idea how I can solve this problem?
    Thanks,
    Bas
    (Sorry for my bad English)

    Hello,
    May I know if there is any update there?
    Please let me know if I can help you more, thanks.
    BR,
    Steven Song
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
      Hello Steven,
      First, sorry for the late response, I have tested a few things for you:
    Offline mode with background sync over a VPN connection: During scheduled sync File Explorer hangs. When bypass the cache by using a UNC path (State: Online) there is also a delay, but this is caused by bandwidth.
    Online Mode with Manual Sync over a LAN connection: During sync File Explorer hangs in (redirected)UserData Folders (They are always available offline, maybe this is a problem?). With UNC paths, there is no delay…
    The first folder/file is created slowly, but the second is fast.
    It's like csc
    still
    must initialize
    the cache…or something…
    I m  I made some
    print screens, but I can not upload them because my account is not verified.......
    trT  Thanks,
     Bas

  • Application cache reinitiates download on every page load (even if manifest file is unchanged)

    in safari & chrome my application cache initiates a new download only when the manifest file has been update (as expected). In FF5.0 it initiates the download on EVERY page load.
    When I view the data @ ''about:cache > Offline cache device > List Cache Entries'' I notice all of the pages listed are "0 bytes" in size, while the CSS/JS/images are given correct size data...
    Is this a bug or has anyone dealt with this issue before?

    Anybody? This is a bit of a blocker for me :(

  • Firefox ShadowDoc out of sync, how do I issue a "cache document" command?

    frequently getting error message that ShadowDoc is out of sync because typing or pasting of text has been detected. Issue a "cache document: command to sync Dragon Dictate with your document

    The only information I could find on this error is over 3 years old.
    However the cache has permissions on each website. If you click on page info for a site that may be asking for cache access, you can check the permissions to store offline cache info.
    Please also ask for help from the software's support, they may know what's going on.

Maybe you are looking for

  • "Material is configurable" indicator in material master record

    Hallo, SAP gurus! I have a problem: in my SAP system there is a material whose indicator "material is configurable" is set. Due to this I cannot hold calculations of this material on. How can I clear this indicator(it's grayed and I can't modify it)?

  • Converting Customised ABAP Tcode in Web Dynpro ABAP

    Hi all, I have a requirement of converting around 300 Customised Tcodes into WDA . Is there anyway to call the existing tcode in WDA.. Plz help ... Thnks Sahil

  • Download of Installation Master DVD from service market Place

    Hi All, I did download the latest installation master DVD from market place but the SAPINST does not show up the steps to install a central instance. Can any one confirm the same, if it is a common issue and a problem with the SOFTWARE Uploaded into

  • Popup php function list?

    Not sure if this is possible but I hope it is. When developing with ColdFusion, Dreamweaver will pop up a list of CF tags when you start typing something like... <cf... Is there anyway to get something similar for php functions? So if I start typing:

  • Spinning beach Ball with almost every click - please advise.

    Folks, i have the last core 2 duo 2 GHz mac mini (2009) before they went unibody. It seems like every time I click anything the spinning beach ball comes up - like the computer is slow or always has to think about what it's doing. I never had this pr