我正在尝试实现 Dynacache CacheProvider 并且遇到了问题。这是我所做的:

  • 我在 D:\IBM\WebSphere85\AppServer\lib 下有我的 Dynacache CacheProvider 实现 jar
  • 我将 com.ibm.ws.cache.CacheConfig.cacheProviderName 配置为具有正确 CacheProvider 实现类的 JVM 自定义属性。
  • 使用相关设置(包括 com.ibm.ws.cache.CacheConfig.cacheProviderName 正确的类名值)创建了位于 D:\IBM\WebSphere85\AppServer\properties 下的 cacheinstance.properties。
  • 我有 cacheinstance.properties 也是 Dynacache CacheProvider 实现 jar 的一部分。
  • 我将对象缓存实例配置为具有新的动态缓存。这也将 com.ibm.ws.cache.CacheConfig.cacheProviderName 作为自定义系统属性。
  • 我的应用程序使用以下内容访问缓存:

  • 代码:
    Properties props = new Properties();
    props.put("com.ibm.ws.cache.CacheConfig.cacheProviderName","com.myCacheProvider");
    map = (DistributedObjectCache)DistributedObjectCacheFactory.getMap("mycache",props);
    

    当应用程序尝试访问 DynaCache 时,我收到以下信息:
    [9/18/12 10:10:52:917 EDT] 00000050 ServerCache   E   DYNA1066E: Unable to initialize the cache provider "com.myCacheProvider". The Dynamic cache will be used to create the cache instance "default" instead of the configured cache provider.
    [9/18/12 10:10:52:919 EDT] 00000050 ServerCache   E   ENGLISH ONLY MESSAGE: cacheProvider is null. Check for the cache provider libraries
    [9/18/12 10:10:52:920 EDT] 00000050 ServerCache   I   DYNA1001I: WebSphere Dynamic Cache instance named default initialized successfully.
    

    我正在使用 WAS 8.5。

    任何想法发生了什么以及如何调试?

    最佳答案

    伙计,

    我会打开 Dyna 缓存跟踪以查看为什么会发生此错误

    跟踪字符串:
    com.ibm.ws.cache.=all:com.ibm.ws.drs.=all

    这应该为我们提供有关正在发生的事情的线索,并且根据我们从跟踪中看到的内容,将为我们提供下一步要做什么的信息。

    HTH

    关于caching - 如何配置动态缓存CacheProvider?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12550653/

    10-14 10:14