0

Wildfly 8.2 から 10.1 に移行しています。残念ながら、Infinispan TreeCache で問題が発生しています。

ここにいくつかの問題があります:

  1. 呼び出しのバッチ処理は、Wildfly 10 構成ではサポートされなくなりました

これが私の設定です:

<subsystem xmlns="urn:jboss:domain:infinispan:4.0">
...
  <cache-container name="my_container" default-cache="my_tree_cache" jndi-name="java:jboss/my_container">
      <transport lock-timeout="60000"/>
      <local-cache name="my_cache"/> 
      <local-cache name="my_tree_cache" batching="true"/> 
  </cache-container>
</subsystem>

起動時のエラー:

> Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[345,17] 
> Message: WFLYCTL0197: Unexpected attribute 'batching' encountered
  1. 「バッチ処理」属性を削除すると。次のエラーが表示されます。
com.daiwacm.modjsf.dataaccess.DataException: getTreeCache has failed for jndi value (my_tree_cache)
Caused by: org.infinispan.commons.CacheConfigurationException: invocationBatching is not 
enabled for cache 'my_tree_cache'. Make sure this is enabled by calling configurationBuilder.invocationBatching().enable()
  1. プログラムでバッチ処理を設定した場合:
Context context = new InitialContext();
CacheContainer cacheContainer = (CacheContainer) context.lookup(jndiName);
TreeCacheFactory tcf = new TreeCacheFactory();
Cache cache = cacheContainer.getCache(cacheName);
cache.getCacheManager().defineConfiguration(cacheName, 
     new ConfigurationBuilder().read(cache.getCacheConfiguration()).invocationBatching().enable().build());
TreeCache treeCache = tcf.createTreeCache(cache);

次のエラーが表示されます。

> Caused by: org.infinispan.commons.CacheConfigurationException:
> ISPN000381: This configuration is not supported for simple cache
>         at org.infinispan.configuration.cache.ConfigurationBuilder.validateSimpleCacheConfiguration(ConfigurationBuilder.java:219)
> ...
>         at org.infinispan.configuration.cache.InvocationBatchingConfigurationBuilder.build(InvocationBatchingConfigurationBuilder.java:12)
> ...
4

1 に答える 1

0

プログラムで構成を設定しないでください。~うまくいくように見えますが、これが有効なアプローチであるかどうかはわかりません。

あなたが探している設定オプションは

<local-cache name="my_cache"> 
    <transaction transaction-mode="BATCH" />
</local-cache>

(不明な点がある場合は、スキーマを参照してくださいdocs/schema/jboss-as-infinispan_4_0.xsd)

最後の問題は、ローカル キャッシュの場合、可能であれば WF が特定の最適化を自動的に有効にすることです。プログラムでキャッシュを再定義すると、この最適化 (単純なキャッシュ) がオンに設定されます。したがって、設定する必要があります

new ConfigurationBuilder().read(cache.getCacheConfiguration())
    .simpleCache(false)
    .invocationBatching().enable()
于 2017-06-09T08:32:46.367 に答える