2013-08-22 2 views
0

Я хочу использовать терракоту + сиро для реализации SSO. Когда я пытаюсь проверить это, у меня есть ошибки:Terracotta and siro

The configuration data in the base configuration from server at 'localhost:9510' does not obey the Terracotta schema: 
    [0]: Line 4, column 5: Expected elements 'tc-properties servers clients' instead of 'system' here in element [email protected]://www.terracotta.org/config 
    [1]: Line 16, column 13: Expected elements 'offheap authentication http-authentication data-backup tsa-port jmx-port tsa-group-port security' instead of 'statistics' here in element server 
    [2]: Line 19, column 13: Expected elements 'offheap authentication http-authentication data-backup tsa-port jmx-port tsa-group-port security' instead of 'dso-port' here in element server 
    [3]: Line 21, column 13: Expected elements 'offheap authentication http-authentication data-backup tsa-port tsa-group-port security' instead of 'l2-group-port' here in element server 
    [4]: Line 32, column 13: Expected elements 'offheap http-authentication data-backup tsa-port tsa-group-port security' instead of 'dso' here in element server 
    [5]: Line 50, column 9: Expected elements 'server mirror-group update-check garbage-collection restartable client-reconnect-window' instead of 'mirror-groups' here in element servers 
    [6]: Line 63, column 9: Expected elements 'server mirror-group update-check garbage-collection restartable client-reconnect-window' instead of 'ha' here in element servers 
    [7]: Line 86, column 5: Element not allowed: application in element [email protected]://www.terracotta.org/config 

Может кто-нибудь поможет мне найти то, что случилось?

Вот моя конфигурация:

ehcache.xml на клиенте ца:

<ehcache name="Plugin_Ehcache" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="ehcache.xsd" 
    updateCheck="false" monitoring="autodetect" 
    dynamicConfig="false"> 

<diskStore path="java.io.tmpdir/shiro-ehcache"/> 

<defaultCache 
     maxElementsInMemory="10000" 
     eternal="false" 
     timeToIdleSeconds="120" 
     timeToLiveSeconds="120" 
     overflowToDisk="false" 
     diskPersistent="false" 
     diskExpiryThreadIntervalSeconds="120"> 
    <terracotta/> 
</defaultCache> 
<cache name="shiro-activeSessionCache" 
     maxElementsInMemory="10000" 
     eternal="true" 
     timeToLiveSeconds="0" 
     timeToIdleSeconds="0" 
     diskPersistent="false" 
     overflowToDisk="false" 
     diskExpiryThreadIntervalSeconds="600"> 
    <terracotta/> 
</cache>  

<terracottaConfig url="localhost:9510"/>  
</ehcache> 

ца-config.xml на сервере дц

<tc:tc-config xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-8.xsd" 
      xmlns:tc="http://www.terracotta.org/config" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

<tc-properties> 
<property name="l2.l1reconnect.enabled" value="true"/> 
<property name="l2.l1reconnect.timeout.millis" value="5000"/> 
<property name="sigar.enabled" value="false"/> 
<property name="search.use.commit.thread" value="false"/> 
<property name="search.lucene.use.ram.directory" value="true"/> 
<property name="search.query.wait.for.txns" value="false"/> 
<property name="logging.maxLogFileSize" value="100"/> 
<property name="logging.maxBackups" value="10"/> 
</tc-properties> 

<system> 
<configuration-model>development</configuration-model> 
</system> 

    <servers> 
    <server host="localhost" name="Terracotta Server1"> 
     <!-- Specify the path where the server should store its data. --> 
      <data>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-data</data> 
      <logs>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-logs</logs> 
      <index>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-index</index> 
      <statistics>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-statistics</statistics> 

     <!-- Specify the port where the server should listen for client 
     traffic. --> 
     <dso-port bind="127.0.0.1">9510</dso-port> 
     <jmx-port bind="127.0.0.1">9520</jmx-port> 
      <l2-group-port bind="localhost">9530</l2-group-port> 
      <!--jmx-port bind="xxx.xxx.xxx.xxx">9520</jmx-port> 
     <tsa-port>9510</tsa-port> 

     <tsa-group-port>9530</tsa-group-port--> 
     <!-- Enable BigMemory on the server. --> 
     <!--offheap> 
     <enabled>true</enabled> 
     <maxDataSize>4g</maxDataSize> 
     </offheap--> 

    <authentication/> 

     <dso> 
    <client-reconnect-window>120</client-reconnect-window> 
    <persistence> 
     <mode>permanent-store</mode> 
      <!--mode>temporary-swap-only</mode--> 
      <!--<offheap> 
     <enabled>false</enabled> 
     <maxDataSize>450m</maxDataSize> 
     </offheap>--> 
    </persistence> 
    <garbage-collection> 
     <enabled>true</enabled> 
     <verbose>false</verbose> 
     <interval>300</interval> 
    </garbage-collection> 
    </dso> 

    </server> 

     <mirror-groups> 
    <mirror-group group-name="group1"> 
    <members> 
     <member>Terracotta Server1</member> 
    </members> 
    <ha> 
     <mode>networked-active-passive</mode> 
     <networked-active-passive> 
     <election-time>5</election-time> 
     </networked-active-passive> 
    </ha> 
    </mirror-group> 
</mirror-groups>  
<ha> 
    <mode>networked-active-passive</mode> 
    <networked-active-passive> 
    <election-time>5</election-time> 
    </networked-active-passive> 
</ha> 

     <update-check> 
    <enabled>false</enabled> 
</update-check> 

    <!-- Add the restartable element for Fast Restartability (optional). --> 
    <!--restartable enabled="true"/--> 
    </servers> 
    <clients> 
    <logs>logs-%i</logs> 
    </clients> 
</tc:tc-config> 

ответ

0

Какой версию библиотеки терракотовой являются вы используете? Tc-config.xml имеет некоторые обновленные теги в версии 4.x и далее. Убедитесь, что tc-config и ehcache xml подчиняются схеме.

Приветствия, Ridhav

0

Я видел, как вы пытались использовать зеркало-группы тегов в вашем дц конфигурации, но вы, кажется, неуместны его.

Например, эта конфигурация должна работать:

<?xml version="1.0" encoding="UTF-8" ?> 
<tc:tc-config xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-8.xsd" 
       xmlns:tc="http://www.terracotta.org/config" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <tc-properties> 
    <property name="l2.l1reconnect.enabled" value="true"/> 
    <property name="l2.l1reconnect.timeout.millis" value="5000"/> 
    <property name="sigar.enabled" value="false"/> 
    <property name="search.use.commit.thread" value="false"/> 
    <property name="search.lucene.use.ram.directory" value="true"/> 
    <property name="search.query.wait.for.txns" value="false"/> 
    <property name="logging.maxLogFileSize" value="100"/> 
    <property name="logging.maxBackups" value="10"/> 
    </tc-properties> 

    <servers> 
    <mirror-group group-name="group1"> 
     <server host="localhost" name="Terracotta Server1"> 
     <!-- Specify the path where the server should store its data. --> 
     <data>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-data</data> 
     <logs>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-logs</logs> 
     <index>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-index</index> 
     <!--<statistics>C:\Program Files\Terracotta\terracotta-3.7.5\server\server-statistics</statistics>--> 

     <!-- Specify the port where the server should listen for client 
     traffic. --> 
     <tsa-port>9510</tsa-port> 
     <jmx-port>9520</jmx-port> 
     <tsa-group-port>9530</tsa-group-port> 

     <authentication/> 

     </server> 
    </mirror-group> 

    <update-check> 
     <enabled>false</enabled> 
    </update-check> 

    <!-- Add the restartable element for Fast Restartability (optional). --> 
    <!--restartable enabled="true"/--> 
    </servers> 
    <clients> 
    <logs>logs-%i</logs> 
    </clients> 
</tc:tc-config> 
0

Посмотрите на этой линии, которая определяет схему, используемую для построения вашего файла конфигурации XML:

<tc:tc-config xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-8.xsd 

Введите предоставленный адрес и принимать посмотрите, как можно использовать вложенные элементы и атрибуты xml.

Например, элемент dso-port разрешен в терракоте-6.xsd и терракоте-7.xsd, но не в терракоте-8.xsd, которая была объявлена ​​вами.

Кстати, в зависимости от версии используемого вами терракотового сервера, соответствующая xml-схема должна быть объявлена ​​из-за несовместимости элементов.