【问题标题】:Coherence*Extend connection exception handlingCoherence*扩展连接异常处理
【发布时间】:2021-12-07 06:16:24
【问题描述】:

我有缓存服务使用 Coherence CE 14.1.1 扩展客户端支持

客户端使用带有 L2 coherence 14.1.1 缓存的休眠 5.2.17

  • 如何处理客户端和缓存服务器之间的连接失败,以便 当服务器关闭时,客户端继续在数据库上正常保存 崩溃。至于现在缓存服务器关闭或有一些 连接问题,客户端崩溃,所有 CRUD 操作都失败。
  • 第二个方法是有多个远程代理选项 优先级,好像第一个列出的代理失败,应用客户端会尝试 连接到配置文件中列出的另一个代理。如果一切都失败了 那么 App 客户端 L2 缓存应该直接忽略缓存。

下面的配置文件 hibernate-second-level-cache-config.xml

<?xml version="1.0"?>

<!--
  Copyright (c) 2020, Oracle and/or its affiliates.
  Licensed under the Universal Permissive License v 1.0 as shown at
  http://oss.oracle.com/licenses/upl.
-->

<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
              xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd">

    <caching-scheme-mapping>
        <cache-mapping>
            <cache-name>org.hibernate.cache.internal.StandardQueryCache</cache-name>
            <scheme-name>remote</scheme-name>
        </cache-mapping>

        <cache-mapping>
            <cache-name>query.*</cache-name>
            <scheme-name>remote</scheme-name>
        </cache-mapping>

        <cache-mapping>
            <cache-name>org.hibernate.cache.spi.UpdateTimestampsCache</cache-name>
            <scheme-name>remote</scheme-name>
        </cache-mapping>

        <cache-mapping>
            <cache-name>*</cache-name>
            <scheme-name>remote</scheme-name>
        </cache-mapping>
    </caching-scheme-mapping>

    <caching-schemes>
        <remote-cache-scheme>
            <scheme-name>remote</scheme-name>
            <service-name>ExtendTcpCacheService</service-name>
            <initiator-config>
                <tcp-initiator>
                    <name-service-addresses>
                        <socket-address>
                            <address>127.0.0.1</address>
                            <port>7574</port>
                        </socket-address>
                    </name-service-addresses>
                </tcp-initiator>
                <outgoing-message-handler>
                    <request-timeout>5s</request-timeout>
                </outgoing-message-handler>
            </initiator-config>
        </remote-cache-scheme>
    </caching-schemes>
</cache-config>

【问题讨论】:

    标签: hibernate oracle-coherence


    【解决方案1】:

    第二个问题的答案是:

    在客户端应用程序上,通过添加附加标签来编辑缓存配置文件,同时确保在所有远程服务器上,代理名称与客户端服务名称完全匹配

    <remote-cache-scheme>
    
      <scheme-name>remote</scheme-name>
    
      <service-name>ExtendTcpCacheService</service-name>
    
      <initiator-config>
    
        <tcp-initiator>
    
          <remote-addresses>
    
            <socket-address id="1">
    
              <address>remote-IP-1</address>
    
              <port>7575</port>
    
            </socket-address>
    
            <socket-address id="2">
    
              <address>remote-IP-2</address>
    
              <port>7575</port>
    
            </socket-address>
    
          </remote-addresses>
    
        </tcp-initiator>
    
        <outgoing-message-handler>
    
          <request-timeout>5s</request-timeout>
    
        </outgoing-message-handler>
    
      </initiator-config>
    
    </remote-cache-scheme>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多