September 2010 - Gatein

83

description

Gatein - Luca Stancapiano JugSardegna 04 September 2010

Transcript of September 2010 - Gatein

Page 1: September 2010 - Gatein
Page 2: September 2010 - Gatein

PC MOPWSRPWCI

IDM Clustering

ECM WEBuiConnettoriOpenSocial

IDMJCR

Page 3: September 2010 - Gatein

Novità

Non solo portletWCM e strumenti di amministrazione Il portale può essere interamente aggiornato dai web managerGestione avanzata dei gruppi e dei documenti privatiSemplicità di cooperazione tra componenti

Page 4: September 2010 - Gatein

Il Portale permette....

Di ridurre i costi associando siti web ad applicazioni. Permette agli sviluppatori di riutilizzare svariati tipi di applicazioni e comporle all'interno di uno stesso contesto. Le portlet 2.0 sono lo standard attuale. Sono pensate per ottenere il riutilizzo.Agli utenti finali di personalizzare ogni parte del sito in maniera sicura garantendo gli accessi.Scalabilità - I portali sono predisposti alla replicazione dei dati su macchine in cluster.Di limitare i bug alla singola applicazione anzichè a tutta la pagina o a tutto il portale. E' possibile continuare a lavorare nel portale pur essendoci applicazioni in crash.

Page 5: September 2010 - Gatein

Licenze

JBoss – Gatein e JCR sono rilasciati con licenza LGPL 2.1Exo – Gli strumenti di amministrazione sono rilasciati con licenza AGPL 3Redhat - Rilascia la EPP 5 (Enterprise Portal Platform). Contiene JBoss + Gatein+ Portlet Bridge + eXo ECM

Page 6: September 2010 - Gatein

Architettura

Page 7: September 2010 - Gatein

Strumenti esterni

Page 8: September 2010 - Gatein

Il Kernel

Page 9: September 2010 - Gatein

ECM

Page 10: September 2010 - Gatein

ECM - Drive

Page 11: September 2010 - Gatein

MOP (Model Object for Portal)

Permette l'assegnazione di una pagina o di un gruppo di pagine per utente o gruppo. La stessa pagina può avere diverse preferenze a seconda dell'utenzaPossibilità di esternalizzare la navigazione tramite import / exportLe preferenze sono configurabili in 4 Scope: Contesto globale, sito, pagina e finestra Le preferenze sono ereditabili

Page 12: September 2010 - Gatein

MOP (Model Object for Portal)

Relazione tra container, finestra e body. Il container crea una finestra tramite un meccanismo di template fornito da ExoLe pagine sono ereditabili, è possibile per una pagina ereditare le proprietà da un padre mantenendo comunque un diverso contenutoLayout gerarchico. Ogni parte del portale (finestra, pagina, sito, portale) ha la possibilità di ereditare un differente layoutIntroduce Chromattic, un framework opensource per il mapping tra oggetti e JCR

Page 13: September 2010 - Gatein

WCI (Web Container Integration)

Attualmente supporta JBoss , Tomcat e JettyAgisce durante il deploy per permettere una corretta installazione e durante ogni richiesta httpAnticipa alcune funzionalità descritte nelle servlet 3.0Verrà aggiunta la parte di integrazione di SSO

Page 14: September 2010 - Gatein

WCI (Login e Logout programmatica)

void login(java.lang.String username,java.lang.String password)throws ServletException void logout()throws ServletException

HttpServletRequest

Page 15: September 2010 - Gatein

PC (Portlet Container)

Integra le portlet 2.0 in Exo portal in modo trasparentePermette di deploiare le portlet all'interno del portale mantenendo l'architettura di gestione delle finestre di Exo

<portlet><portlet-name>HelloWorldPortlet</portlet-name><portlet-class>org.SimplestHelloWorldPortlet</portlet-class><supports><mime-type>text/html</mime-type></supports><portlet-info><title>Simplest Hello World Portlet</title></portlet-info></portlet>

Page 16: September 2010 - Gatein

WSRP (Web Service Remote Portlet)

Page 17: September 2010 - Gatein

WSRP Producer

Page 18: September 2010 - Gatein

WSRP Consumer

Page 19: September 2010 - Gatein

Implementa le JSR 301 e 329 (portlet 1.0 e 2.0)Permette di usare JSF 1.2 all'interno di un portlet container. Qualunque applicazione web basata su JSF può diventare parte di un portale Supporta Seam e RichFaces

Page 20: September 2010 - Gatein

<portlet>

<portlet-name>yourPortletName</portlet-name>

<portlet-class>

javax.portlet.faces.GenericFacesPortlet

</portlet-class>

<init-param>

<name>javax.portlet.faces.defaultViewId.view </name>

<value>/welcome.xhtml</value>

</init-param>

Page 21: September 2010 - Gatein

<faces-config>

<application>

<view-handler>

org.jboss.portletbridge.application.PortletViewHandler

</view-handler>

<state-manager> org.jboss.portletbridge.application.PortletStateManager </state-manager>

</application>

...

Page 22: September 2010 - Gatein
Page 23: September 2010 - Gatein

<Module>−<ModulePrefs title_url="http://www.amoreepsiche.it/index.php?idcat"> <Require feature="minimessage"/></ModulePrefs>−<Content type="html"> <DIV > <TABLE width="100%"><TR><TD align=center> <DIV id="imgSRC__MODULE_ID__"></DIV> </TD></TR></TABLE> </DIV></Content></Module>

Page 24: September 2010 - Gatein

JCROgni contenuto è condivisibile con RESTSupporta WebDav, FTP, RMI

RESTSERVLET

LOCALSESSIONPROVIDER

CURRENTIDENTITY

RESTENCODING

BROWSER

POSTGETDELETEPUT

WEBDAVFTP

Page 25: September 2010 - Gatein

JCRSupporta autorizzazione e ACLIntroduce lo scripting GroovyFunzioni di Import / ExportGestione degli eventiScript per inizializzare i repositoryClustering con JBoss Cache Tutti i documenti sono versionabiliSupporta l'internazionalizzazione

Page 26: September 2010 - Gatein

JCR

Page 27: September 2010 - Gatein

JCR - workspaceSuddividono le informazioni in gruppiPossono essere configurati su diversi databaseSono clusterizzabili

Page 28: September 2010 - Gatein

JCR - workspaceREPOSITORY(Gatein)

SYSTEM: Contiene i nodi e i namespace di base di JCRPORTAL-SYSTEM: Contiene le entità generate da MOP , tutte le informazioni generate dall'application registry (categorie, gadget, contenuti) e relativi permessi.PORTAL-WORK: Contiene i token per mantenere la sessione autenticata in caso di 'autologin' e 'ricorda password'.WSRP-SYSTEM:Contiene le informazioni dei producer e consumer WSRP.PC-SYSTEM: Contiene gli stati delle portlet.

Page 29: September 2010 - Gatein

JCR - workspaceREPOSITORY(ECM)

COLLABORATION: Contiene le informazioni e i contenuti delle applicazioni di collaboration (tags, relazioni).BACKUP: Mantiene i documenti scaduti e può essere usato per implementare un meccanismo di backup automatico.DMS-SYSTEM: Contiene le info su applicazini e contenuti del DMS.WCM-SYSTEM:Contiene le info su applicazini e contenuti del WCM.

Page 30: September 2010 - Gatein

JCR

Page 31: September 2010 - Gatein

Identity Management - organization

User

Group

Membership Type

Membership

{ manager, member, validator }

{ Mary / users, root / administrators }

{ guests, management, users, administrators }

{ Mary, John, root, demo }

Page 32: September 2010 - Gatein

Identity Management - servizi

Hibernate LDAP

JDBC

ActiveDirectory

PicketLinkOrganization

Page 33: September 2010 - Gatein

Identity Management - gestione dei profiliI campi degli utenti, gruppi e membership type sono dinamici e gestiti dai singoli servizi <object type="org.exoplatform.services.organization.OrganizationConfig$User"> <field name="userName"><string>mary</string></field> <field name="password"><string>gtn</string></field> <field name="firstName"><string>Mary</string></field> <field name="lastName"><string>Kelly</string></field> <field name="email"><string>mary@localhost</string></field> <field name="groups"> <string>member:/platform/users</string> </field></object>

Page 34: September 2010 - Gatein

IDM: Fornisce un modello a oggetti per l'identità (Utenti/Gruppi/Ruoli) e si interfaccia con LDAP e RDBMS.Federated Identity: Supporta SAMLv2, WS-Trust e OpenID.AuthZ: Authorization framework semplice da utilizzareXACML: Implementazione di Oasis XACMLv2.Negotiation: SPNego/Kerberos based Desktop SSO.

Page 35: September 2010 - Gatein

DatabaseGatein

IDM (Creato da PicketLink IDM)Portal (Creato da Exo JCR + MOP)

ECMIDM (Creato da PicketLink IDM)Portal (Creato da Exo JCR + MOP)

I Datasource sono configurabili tramite le common di ExoLa EPP 5 utilizza i datasource di JBoss

Page 36: September 2010 - Gatein

Database - Datasource# JCRgatein.jcr.config.type=localgatein.jcr.datasource.name=java:jdbcjcrgatein.jcr.datasource.dialect=autogatein.jcr.datasource.driver=org.hsqldb.jdbcDrivergatein.jcr.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcjcr_${name}gatein.jcr.datasource.username=sagatein.jcr.datasource.password=

gatein.jcr.data.dir=${gatein.data.dir}/jcrgatein.jcr.storage.data.dir=${gatein.jcr.data.dir}/valuesgatein.jcr.index.data.dir=${gatein.jcr.data.dir}/lucenegatein.jcr.index.changefilterclass= org.exoplatform.services.jcr.impl.core.query.DefaultChangesFilter

# IDMgatein.idm.datasource.name=java:jdbcidmgatein.idm.datasource.driver=org.hsqldb.jdbcDrivergatein.idm.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcidm_${name}gatein.idm.datasource.username=sagatein.idm.datasource.password=

Page 37: September 2010 - Gatein

Database

Page 38: September 2010 - Gatein

Database

Page 39: September 2010 - Gatein

Web UI - Groovy

Page 40: September 2010 - Gatein

Web UI - Groovy - Dashboard

UIGadgetPortlet /UIGadgetViewMode

UIDashboardPortlet

UITabPaneDashboardUITabbedDashboardPortlet

Page 41: September 2010 - Gatein

Web UI - Groovy - UIDashboardPortlet<% import javax.portlet.PortletMode ; import org.exoplatform.dashboard.webui.component.DashboardParent ; import org.exoplatform.dashboard.webui.component.UIDashboard; import org.exoplatform.dashboard.webui.component.UIDashboardEditForm;

def rcontext = _ctx.getRequestContext() ; def popupMsgs = uicomponent.getUIPopupMessages();%><div id="$uicomponent.id" class="UIDashboardPortlet"> <% if(rcontext.getApplicationMode() == PortletMode.VIEW) { uicomponent.renderChild(UIDashboard.class); } else { UIDashboardEditForm uiEditForm = uicomponent.getChild(UIDashboardEditForm.class); uiEditForm.getUIStringInput(UIDashboardEditForm.TOTAL_COLUMNS).setValue(uicomponent.getNumberOfCols() + ""); uicomponent.renderUIComponent(uiEditForm) ; } if(popupMsgs != null) popupMsgs.processRender(rcontext); %></div>

Page 42: September 2010 - Gatein

Web UI - Skin

Page 43: September 2010 - Gatein

Web UI - Skin - CSS.UIGadgetPortlet { padding: 1px; height: 100%;}

.UIGadgetPortlet .UIGadgetViewMode { height: 100%;}

.UIGadgetPortlet .gadgets-gadget-content { height: 100%;}

.UIGadgetPortlet .UIGadgetContent { height: 100%;}

.UIGadgetPortlet .gadgets-gadget { width: 100%;}

Page 44: September 2010 - Gatein

Web UI - I18N

Page 45: September 2010 - Gatein

Web UI - I18N - Giapponese

UITabPaneDashboard.action.addNewDashboard=\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3092\u8ffd\u52a0UITabPaneDashboard.action.switchShowRange=\u9818\u57df\u3092\u5207\u308a\u66ff\u3048UITabPaneDashboard.msg.deleteTab=\u672c\u5f53\u306b\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3092\u524a\u9664\u3057\u307e\u3059\u304b\uff1f

UITabPaneDashboard.msg.cannotDeleteLastTab=\u30bf\u30d6\u3092\u524a\u9664\u51fa\u6765\u307e\u305b\u3093\u3002

UITabPaneDashboard.msg.wrongTabName=\u82f1\u6570\u5b57\u3001\u30fb\u3001-\u3001_\u306e\u307f\u304c\u8a31\u3055\u308c\u3066\u3044\u307e\u3059\u3002

Page 46: September 2010 - Gatein

Web UI - I18N - UITabPaneDashboard.java

import org.exoplatform.web.application.ApplicationMessage; ...... else { getAncestorOfType(UIApplication.class).addMessage( new ApplicationMessage("UITabPaneDashboard.msg.cannotDeleteLastTab", null)); return null; }

Page 47: September 2010 - Gatein

Web UI - Configurazione

Page 48: September 2010 - Gatein

Web UI - gatein-resources.xml

<gatein-resources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_resources_1_0 http://www.gatein.org/xml/ns/gatein_resources_1_0" xmlns="http://www.gatein.org/xml/ns/gatein_resources_1_0">

<!-- GadgetPortlet skins -->

<portlet-skin> <application-name>dashboard</application-name> <portlet-name>GadgetPortlet</portlet-name> <skin-name>Default</skin-name> <css-path>/skin/gadget/webui/component/UIGadgetPortlet/DefaultStylesheet.css</css-path> </portlet-skin>

</gatein-resources>

Page 49: September 2010 - Gatein

Web UI

Si possono organizzare le sottodirectory nell'applicazione usando un meccanismo di importLe configurazioni possono essere sovrascritte da un'applicazione che usa gli stessi pathLe portlet sono inserite sotto forma di nodi jcr. Risulta così più facile ricercarle, catalogarle o eseguirle C'è uno stretto legame tra componenti webui e classi CSS per rendere più immediata la configurazione grafica

Page 50: September 2010 - Gatein

Esempi - News - Portlet di lettura

Category Navigation - Ordina le news per categoria e permette di navigarle (/private/acme/news)Category Contents - Elenca le news a seconda della categoria scelta. Se la categoria non è selezionata le elenca tutte (/private/acme/news)Content by Url - Rappresenta l'esploso della news selezionata. La selezione di una news passa un URL da cui è possibile prelevare il contenuto (/private/acme/detail)

Page 51: September 2010 - Gatein

Esempi - News - Portlet di lettura

Page 52: September 2010 - Gatein

Esempi - News - Groovy

<div id="$uicomponent.id" class="$uicomponent.id"> <%

if (Utils.isShowQuickEdit()) { %> <a class="DocumentQuickEdit" href="<%= uicomponent.event("QuickEdit") %>" title="<%= _ctx.appRes("UICNContainer.title.QuickEdit") %>"><div class="QuickEdit"><span></span></div></a> <% }

uicomponent.buildTree(); uicomponent.renderChildren(); %></div>

Page 53: September 2010 - Gatein

Esempi - News - Skin

<portlet-skin> <application-name>presentation</application-name> <portlet-name>CategoryNavigationPortlet</portlet-name> <skin-name>Default</skin-name> <css-path>/skin/CategoryNavigation/DefaultStylesheet.css</css-path> </portlet-skin>

.UICategoryNavigationPortlet .HorizontalLayout .UIFormInputSet { padding: 0;}

.UICategoryNavigationPortlet .HorizontalLayout .FormContainer { padding: 0;}

gatein-resources.xml

DefaultStylesheet.css

Page 54: September 2010 - Gatein

Esempi - News - Portlet

<portlet> <description xml:lang="EN">Category Navigation</description> <portlet-name>CategoryNavigationPortlet</portlet-name> <display-name xml:lang="EN">Category Navigation</display-name> <portlet-class>org.exoplatform.webui.application.portlet.PortletApplicationController</portlet-class> <init-param>......

<webui-configuration> <annotation-classes></annotation-classes> <application> <ui-component-root>org.exoplatform.wcm.webui.category.UICategoryNavigationPortlet</ui-component-root> <state-manager>org.exoplatform.webui.application.portlet.ParentAppStateManager</state-manager> </application></webui-configuration>

portlet.xml

configuration.xml

Page 55: September 2010 - Gatein

Esempi - News - PortletPortletPreferences portletPreferences = UICategoryNavigationUtils.getPortletPreferences();String preferenceRepository = portletPreferences.getValue(UICategoryNavigationConstant.PREFERENCE_REPOSITORY, "");String preferenceTreeName = portletPreferences.getValue(UICategoryNavigationConstant.PREFERENCE_TREE_NAME, "");TaxonomyService taxonomyService = getApplicationComponent(TaxonomyService.class);Node rootTreeNode = null;try {rootTreeNode = taxonomyService.getTaxonomyTree(preferenceRepository, preferenceTreeName); } catch (RepositoryException e) {//return;}setRootTreeNode(rootTreeNode);setAcceptedNodeTypes(new String[] {"nt:folder", "nt:unstructured", "nt:file", "exo:taxonomy"});

UITree tree = addChild(UICategoryNavigationTreeBase.class, null, null);tree.setBeanLabelField("name");tree.setBeanIdField("path");

Page 56: September 2010 - Gatein

Esempi - News - Portlet di lettura

Page 57: September 2010 - Gatein

Esempi - News - configuration.xml<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd" xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"> <import>war:/conf/sample-portal/jcr/jcr-configuration.xml</import> <import>war:/conf/sample-portal/portal/portal-configuration.xml</import> <import>war:/conf/sample-portal/portal/application-registry-configuration.xml</import> <import>war:/conf/sample-portal/portal/resource-bundle-configuration.xml</import>

<import>war:/conf/sample-portal/wcm/newsletter-configuration.xml</import> <import>war:/conf/sample-portal/wcm/deployment/acme-deployment-configuration.xml</import> <import>war:/conf/sample-portal/wcm/deployment/classic-deployment-configuration.xml</import> <import>war:/conf/sample-portal/wcm/deployment/template-deployment-configuration.xml</import> <import>war:/conf/sample-portal/wcm/taxonomy/acme-taxonomies-configuration.xml</import> <import>war:/conf/sample-portal/wcm/taxonomy/classic-taxonomies-configuration.xml</import></configuration>

Page 58: September 2010 - Gatein

Esempi - News - tassonomia

acme-taxonomies-configuration.xml

Page 59: September 2010 - Gatein

Esempi - News - importazione dei dati

News.xml

Page 60: September 2010 - Gatein

Esempi - News - importazione dei dati

acme-deployment-configuration.xml

<object-param> <name>ACME News data</name> <description>Deployment Descriptor</description> <object type="org.exoplatform.services.deployment.DeploymentDescriptor"> <field name="target"> <object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target"> <field name="repository"> <string>repository</string> </field> <field name="workspace"> <string>collaboration</string> </field> <field name="nodePath"> <string>/sites content/live/acme/web contents/site artifacts</string> </field> </object> </field> <field name="sourcePath"> <string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme/News.xml</string> </field> </object>

Page 61: September 2010 - Gatein

Esempi - News - Creazione della pagina

pages.xml

<page> <name>news</name> <title>News</title> <access-permissions>Everyone</access-permissions> <edit-permission>editor:/platform/web-contributors</edit-permission> <container id="ACMEBody" template="system:/groovy/portal/webui/container/UITableColumnContainer.gtmpl"> <access-permissions>Everyone</access-permissions> <container id="ACMECategories" template="system:/groovy/portal/webui/container/UIContainer.gtmpl"> <access-permissions>Everyone</access-permissions> <portlet-application> <portlet> <application-ref>presentation</application-ref> <portlet-ref>CategoryNavigationPortlet</portlet-ref> <preferences>.........

Page 62: September 2010 - Gatein

Esempi - News - Category Navigation

Page 63: September 2010 - Gatein

Esempi - News - Category Contents

Page 64: September 2010 - Gatein

Esempi - News - Category ContentsList<SelectItemOption<String>> templates = new ArrayList<SelectItemOption<String>>();RepositoryService repositoryService = getApplicationComponent(RepositoryService.class);ManageableRepository manageableRepository = repositoryService.getCurrentRepository();ApplicationTemplateManagerService applicationTemplateManagerService = getApplicationComponent(ApplicationTemplateManagerService.class);String repository = manageableRepository.getConfiguration().getName();List<Node> templateNodes = applicationTemplateManagerService.getTemplatesByCategory(repository,portletName,templateCategory,Utils.getSessionProvider());for (Node templateNode : templateNodes) {String templateName = templateNode.getName();String templatePath = templateNode.getPath();templates.add(new SelectItemOption<String>(templateName, templatePath));}return templates;

Recupero dell'elenco dei template

Page 65: September 2010 - Gatein

Esempi - News - Category by Url

Page 66: September 2010 - Gatein

Esempi - News - Inserimento

Fast Content Creation - permette di inserire un documento configurando lo spazio di destinazione, un template grafico e degli eventiDMS Console - è la console per la gestione dei documenti. Contiene la Fast Content Creation portletForm Generator - permette di creare graficamente una form di inserimento specificando i campi e una action per l'invio in post

Page 67: September 2010 - Gatein

Esempi - News - InserimentoFast Content Creation

Page 68: September 2010 - Gatein

Esempi - Contact Us

Page 69: September 2010 - Gatein

Esempi - Contact Us - Form Generator

Page 70: September 2010 - Gatein

Esempi - Contact Us - Form Generator

Page 71: September 2010 - Gatein

Esempi - Contact Us - Inserimento

Page 72: September 2010 - Gatein

Esempi - Contact Us - Risultato

Page 73: September 2010 - Gatein

Clustering - JBoss Cache

Page 74: September 2010 - Gatein

Clustering - PicketLink IDMGira su Hibernate (ehcache, JBoss Cache)Cache di primo e secondo livello entrambe con JBoss CacheUtilizzabile su ogni piattaforma supportata da Gatein

<value-param>

<name>cacheConfig</name>

<value>war:/conf/organization/picketlink-idm/jboss-cache.xml</value>

</value-param>

<value-param profiles="cluster">

<name>cacheConfig</name>

<value>war:/conf/organization/picketlink-idm/jboss-cache-cluster.xml</value>

</value-param>

Page 75: September 2010 - Gatein

Clustering - Exo JCRLa configurazione è dipendente dal workspaceClustering su 4 canali:

DatiIndiciLock ManagerTransaction Manager (da configurare)

Utilizzabile su ogni piattaforma <cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache"> <properties> <property name="jbosscache-configuration" value="conf/jcr/jbosscache/${gatein.jcr.config.type}/config.xml" /> <property name="jgroups-configuration" value="jar:/conf/jcr/jbosscache/cluster/udp-mux.xml" /> <property name="jgroups-multiplexer-stack" value="true" /> <property name="jbosscache-cluster-name" value="jcr-${container.name.suffix}-wsrp-system" /> </properties> </cache>

Page 76: September 2010 - Gatein

Clustering - JBoss Cache<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">

<locking useLockStriping="false" concurrencyLevel="50000" lockParentForChildInsertRemove="false" lockAcquisitionTimeout="20000" />

<clustering mode="replication" clusterName="${jbosscache-cluster-name}"> <stateRetrieval timeout="20000" fetchInMemoryState="false" /> <jgroupsConfig multiplexerStack="jcr.stack" /> <sync /> </clustering>

<!-- Eviction configuration --> <eviction wakeUpInterval="5000"> <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm" actionPolicyClass="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.ParentNodeEvictionActionPolicy" eventQueueSize="1000000"> <property name="maxNodes" value="1000000" /> <property name="timeToLive" value="120000" /> </default> </eviction></jbosscache>

Page 77: September 2010 - Gatein

Clustering - JBoss Cache - Rete<protocol_stacks> <stack name="jcr.stack"> <config> <UDP mcast_addr="228.10.10.10" mcast_port="45588" tos="8" ucast_recv_buf_size="20000000" ucast_send_buf_size="640000" mcast_recv_buf_size="25000000" />... <PING timeout="2000" num_initial_members="3" /> <pbcast.NAKACK use_stats_for_retransmission="false" exponential_backoff="150" use_mcast_xmit="true" gc_lag="0" retransmit_timeout="50,300,600,1200" discard_delivered_msgs="true" /> <UNICAST timeout="300,600,1200" /> <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000" max_bytes="1000000" />.... <FC max_credits="500000" min_threshold="0.20" /> <FRAG2 frag_size="60000" /> </config> </stack></protocol_stacks>

Page 78: September 2010 - Gatein

Clustering - JBoss Cache - Strategie

Page 79: September 2010 - Gatein

Clustering - JBoss Cache - Strategie

Page 80: September 2010 - Gatein

Clustering - JBoss Cache - StrategieDefault

Page 81: September 2010 - Gatein

Clustering - JBoss Cache - Strategie

Page 82: September 2010 - Gatein

Clustering - JBoss Cache - Strategie

Page 83: September 2010 - Gatein

Ciao!!

Luca Stancapiano ------------------------------------------ Jboss Forums project leaderGatein / Jboss Portal developerJBUG Rome member

[email protected]