AW: AW: Geronimo CMP update statements
Hello Matt, yes, this works. Thanks for the hint. I think geronimo sends a statement like this one to the database UPDATE table SET col1 = CASE WHEN false THEN null ELSE col1 END, col2 = CASE WHEN true THEN newValue ELSE col1 END, ... and Oracle does not know how to handle the boolean values true and false, so they have to be replaced by some expressions like 1=1 or 1=0. (This way I can reproduce the situation) Nevertheless I think this behaviour should be modified not only for the reason of wrongly fired triggers but also to reduce the transportation load. regards Michael -Ursprüngliche Nachricht- Von: Matt Hogstrom [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 26. Januar 2006 17:22 An: user@geronimo.apache.org Betreff: Re: AW: Geronimo CMP update statements Michael, Add the following lines in your plan: !-- For Oracle database users uncomment the following line. ejb-ql-compiler-factoryorg.tranql.ejbqlcompiler.OracleQLCompilerFactory/ejb-ql-compiler-factory db-syntax-factoryorg.tranql.sql.oracle.OracleDBSyntaxFactory/db-syntax-factory -- These go after the cmp-connection factory. Let me know if this fixes the problem. Ueberbach, Michael wrote: Hello, I think there is another problem concerning this issue. Using an Oracle database (9i) I get this error when updating a cmr- field: (...) Caused by: org.tranql.ql.QueryException: Error executing statement: UPDATE konto SET erzeugt = CASE WHEN ? THEN ? ELSE erzeugt END, bankname = CASE WHEN ? THEN ? ELSE bankname END, bankleitzahl = CASE WHEN ? THEN ? ELSE bankleitzahl END, kontonummer = CASE WHEN ? THEN ? ELSE kontonummer END, kontostand = CASE WHEN ? THEN ? ELSE kontostand END, fk_person = CASE WHEN ? THEN ? ELSE fk_person END WHERE guid = ? (...) Caused by: java.sql.SQLException: ORA-00920: invalid relational operator This not the case when using MySQL. regards Michael -Ursprüngliche Nachricht- Von: Gianny Damour [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 26. Januar 2006 13:16 An: user@geronimo.apache.org Betreff: Re: Geronimo CMP update statements Hi Dan, At the beginning, I was not seeing this as an issue. Based on your remark that triggers are wrongly fired, I now see this as an issue that needs to be fixed. Could you please raise a JIRA for this problem? Thanks, Gianny Daniel John Debrunner wrote: At ApacheConUS 2005 I talked with Matt Hogstrom about the SQL UPDATE statements Geronimo was issuing against Derby for DayTrader. A single UPDATE statement is generated for a table that updates all columns using a CASE statement to ensure un-modified columns are not changed, or in reality changed to the same value. An example is described in GERONIMO-1080, the syntax may be a little different for Derby. http://issues.apache.org/jira/browse/GERONIMO-1080 I see two issues with this approach, one is that for Derby this is inefficient, and two, and probably more important, all SQL update triggers will fire due to this modification of all columns. Thus if an application defines a trigger on update of the address column of a customer table, then when using Geronimo this trigger will fire, even if the CMP application is only updating the customer's balance. This just seems the wrong semantics to me. Matt had said this was a known issue, and that it was going to be fixed. The comments in GERONIMO-1080 seem to indicate that this may not be seen as an issue, though those comments are dated before ApacheCon. I searched Jira and couldn't see any bug for changing this, are there any plans to address this? Thanks, Dan.
Re: How to connect to LDAP server on Geronimo from an LDAP client?
Hi Hernan/Aaron The following is the export of my LDAP entries. I could export using JXplorer. I also used another LDAP client called LDAP Browser/Editor 2.8.2. In the below LDAP export, there are two users balaji1, balaji2 whose passwords are MD5 hashed. Where as for other users, the passwords are stored PLAIN. So, with balaji1/balaji2, I am getting Userid/password wrong message in the browser while authenticating. I am trying to find the answers for Aaron's questions. I will update soon. version: 1dn: ou=systemobjectClass: organizationalUnitobjectClass: topou: systemuserPassword:: e21kNX1JU012S1hwWHBhZERpVW9PU29BZnd3PT0= dn: uid=admin,ou=systemobjectClass: inetOrgPersonobjectClass: organizationalPersonobjectClass: personobjectClass: topcn: system administratordisplayName: Directory Superusersn: administrator uid: adminuserPassword:: c2VjcmV0 dn: ou=users,ou=systemobjectClass: organizationalUnitobjectClass: topou: users dn: uid=system,ou=users,ou=systemobjectclass: inetOrgPersonobjectclass: organizationalPersonobjectclass: personobjectclass: topcn: John Doefacsimiletelephonenumber: +1 408 555 5556givenname: John l: Las Vegasmail: [EMAIL PROTECTED]ou: Peopleou: Human Resourcesroomnumber: 4613sn: Doetelephonenumber: +1 408 555 uid: systemuserPassword:: bWFuYWdlcg== dn: uid=user1,ou=users,ou=systemobjectclass: inetOrgPersonobjectclass: organizationalPersonobjectclass: personobjectclass: topcn: Userfacsimiletelephonenumber: +1 408 555 5556givenname: User1 l: Las Vegasmail: [EMAIL PROTECTED]ou: Peopleou: Human Resourcesroomnumber: 4613sn: Onetelephonenumber: +1 408 555 uid: user1userPassword:: dXNlcjE= dn: uid=user2,ou=users,ou=systemobjectclass: inetOrgPersonobjectclass: organizationalPersonobjectclass: personobjectclass: topcn: Userfacsimiletelephonenumber: +1 408 555 5556givenname: User2 l: Las Vegasmail: [EMAIL PROTECTED]ou: Peopleou: Human Resourcesroomnumber: 4613sn: Twotelephonenumber: +1 408 555 uid: user2userPassword:: dXNlcjI= dn: uid=admin,ou=users,ou=systemobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: adminsn: adminuid: adminuserPassword:: YWRtaW4= dn: uid=user3,ou=users,ou=systemobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: user3sn: user3uid: user3userPassword:: dXNlcjM= dn: uid=user4,ou=users,ou=systemobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: user4sn: user4uid: user4userPassword:: dXNlcjQ= dn: uid=phani1,ou=users,ou=systemobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: phani1sn: phani1uid: phani1userPassword:: cGhhbmkx dn: uid=balaji1,ou=users,ou=systemobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: balaji1sn: balaji1uid: balaji1userPassword:: e21kNX1wRWdLL2ZSODZXQmlPU1FZYmdFQUpBPT0= dn: uid=balaji2,ou=users,ou=systemobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: balaji2sn: balaji2uid: balaji2userPassword:: e21kNX1zdXNnSkwybWx0V0ZrZlpWWjk3WnBBPT0= dn: ou=groups,ou=systemobjectClass: organizationalUnitobjectClass: topou: groups dn: cn=admin,ou=groups,ou=systemobjectClass: groupOfUniqueNamescn: adminuniqueMember: uid=system,ou=users,ou=system dn: cn=guest,ou=groups,ou=systemobjectClass: groupOfUniqueNamescn: guestuniqueMember: uid=user2,ou=users,ou=systemuniqueMember: uid=user1,ou=users,ou=system dn: ou=configuration,ou=systemobjectClass: organizationalUnitobjectClass: topou: configuration dn: ou=partitions,ou=configuration,ou=systemobjectClass: organizationalUnitobjectClass: topou: partitions dn: ou=services,ou=configuration,ou=systemobjectClass: organizationalUnitobjectClass: topou: services dn: ou=interceptors,ou=configuration,ou=systemobjectClass: organizationalUnitobjectClass: topou: interceptors dn: prefNodeName=sysPrefRoot,ou=systemobjectClass: extensibleObjectprefNodeName: sysPrefRoot dn: uid=phani-users,ou=systemobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: user1sn: user1uid: phani-users Thanks phani On 1/26/06, Hernan Cunico [EMAIL PROTECTED] wrote: Hi Phani,Can you export an LDIF so we can see your LDAP conf? I think the problem may be there. So far I have been able to add new users and alter the groups with my other LDAP client. Jxplorer isgiving me some problems while importing/updating from LDIFs.Can you summarize the steps you do for adding the user? Cheers!HernanPhani Madgula wrote: Hi Hernan, I am using AG1.0. I tried with other LDAP clients. I observed that, some clients store passwords in SHA, by deafult. The authentication is failing in either case [MD5 or SHA] Thanks phani On 1/25/06, *Hernan Cunico* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi Phani, So far I am only getting this error while using Jxplorer. What other client have you tried? Cheers! Hernan Hernan Cunico wrote: Hi
RE: Geronimo and Tivoli Access Manager (TAM)
Hi,Should not be to difficult to create one though.Do you mean coding a JAAS module ?But my question ar: Does geronimo support JACC ? if so can I use the Geronimo's JACC implementation to integrate with TAM ?ByeNicholas Irving [EMAIL PROTECTED] escribió:Hi, I was not aware of a TAI available for Geronimo, but then again I was not aware of JACC in WebSphere 6. Should not be to difficult to create one though.NIrvingFrom: Cristian Roldan [mailto:[EMAIL PROTECTED] Sent: Friday, 27 January 2006 3:14 AMTo: user@geronimo.apache.orgSubject: Geronimo and Tivoli Access Manager (TAM) Hi All, Does someone configure Geronimo and TAM ?Is Geronimo's JACC interfacemature enough ? Can I use Geronimo's JACC to integrate with TAM ? Any experience ?Thanks!!!1GB gratis, Antivirus y AntispamCorreo Yahoo!, el mejor correo web del mundoAbrí tu cuenta aquí --No virus found in this incoming message.Checked by AVG Free Edition.Version: 7.1.375 / Virus Database: 267.14.23/240 - Release Date: 25/01/2006 --No virus found in this outgoing message.Checked by AVG Free Edition.Version: 7.1.375 / Virus Database: 267.14.23/242 - Release Date: 26/01/2006 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo Abrí tu cuenta aquí
deploying EJB with CMR
Hi, I'm trying to deploy ear application with EJBs on Geronimo-1.0. The same application deploys without a problem on Geronimo-1.0M5. After transforming dependency format and parentIds for Geronimo 1.0 release I still got following error from the deployer: Target TransactionBean does not have foreign key attribute transactionid. Bellow are some snippets from openejb-jar.xml. Do you know a reason for this problem? Regards, Milan. -- entities affected -- entity ejb-nameTransactionBean/ejb-name local-jndi-nameejb/TransactionLocalHome/local-jndi-name table-nametransactions/table-name !-- table creation command -- !-- CREATE TABLE transactions( transactionid INTEGER NOT NULL PRIMARY KEY, ledgerid INTEGER NOT NULL, date DATE, marker VARCHAR(32)) -- cmp-field-mapping cmp-field-namekey/cmp-field-name table-columntransactionid/table-column /cmp-field-mapping cmp-field-mapping cmp-field-namedate/cmp-field-name table-columndate/table-column /cmp-field-mapping cmp-field-mapping cmp-field-namemarker/cmp-field-name table-columnmarker/table-column /cmp-field-mapping key-generator sequence-table table-namesequences/table-name sequence-nametransaction/sequence-name batch-size1/batch-size /sequence-table /key-generator naming:resource-ref naming:ref-namejdbc/CoordinatorDb/naming:ref-name naming:resource-linkCoordinatorDataSource/naming:resource-link /naming:resource-ref /entity entity ejb-nameTransactionLineBean/ejb-name local-jndi-nameejb/TransactionLineLocalHome/local-jndi-name table-nametlines/table-name !-- table creation command -- !-- CREATE TABLE tlines ( lineid INTEGER NOT NULL PRIMARY KEY, transactionid INTEGER NOT NULL, accountid INTEGER NOT NULL, side CHAR(1) DEFAULT 'C', ammount INTEGER, CONSTRAINT FK_TLINES_TRANSACTION FOREIGN KEY (transactionid) REFERENCES transactions(transactionid)) -- cmp-field-mapping cmp-field-namekey/cmp-field-name table-columnlineid/table-column /cmp-field-mapping cmp-field-mapping cmp-field-nameside/cmp-field-name table-columnside/table-column /cmp-field-mapping cmp-field-mapping cmp-field-nameammount/cmp-field-name table-columnammount/table-column /cmp-field-mapping key-generator sequence-table table-namesequences/table-name sequence-nameledger/sequence-name batch-size10/batch-size /sequence-table /key-generator naming:resource-ref naming:ref-namejdbc/CoordinatorDb/naming:ref-name naming:resource-linkCoordinatorDataSource/naming:resource-link /naming:resource-ref /entity -- CMR causing the problem - ejb-relation ejb-relationship-role relationship-role-source ejb-nameTransactionBean/ejb-name /relationship-role-source cmr-field cmr-field-namelines/cmr-field-name /cmr-field role-mapping cmr-field-mapping key-columntransactionid/key-column foreign-key-columntransactionid/foreign-key-column /cmr-field-mapping /role-mapping /ejb-relationship-role ejb-relationship-role relationship-role-source ejb-nameTransactionLineBean/ejb-name /relationship-role-source cmr-field cmr-field-nametransaction/cmr-field-name /cmr-field foreign-key-column-on-source/ role-mapping cmr-field-mapping key-columntransactionid/key-column foreign-key-columntransactionid/foreign-key-column ---this is attribute mentioned in error message ! /cmr-field-mapping /role-mapping /ejb-relationship-role /ejb-relation
Re: Geronimo and Tivoli Access Manager (TAM)
On Jan 27, 2006, at 3:38 AM, Cristian Roldan wrote:Hi, Should not be to difficult to create one though. Do you mean coding a JAAS module ? But my question ar:Does geronimo support JACC ? if so can I use the Geronimo's JACC implementation to integrate with TAM ? ByeGeronimo supports JACC, but at the moment you can't really use anything but Geronimo's JACC implementation. I'm going to be looking at making this pluggable very soon. Can you point to any documents indicating how TAM relates to JACC? The only JACC implementation I have seen is ours so seeing what other people get from the spec would be very useful :-)thanksdavid jencks Nicholas Irving [EMAIL PROTECTED] escribió:Hi,I was not aware of a TAI available for Geronimo, but then again I was not aware of JACC in WebSphere 6. Should not be to difficult to create one though. NIrving From: Cristian Roldan [mailto:[EMAIL PROTECTED]] Sent: Friday, 27 January 2006 3:14 AMTo: user@geronimo.apache.orgSubject: Geronimo and Tivoli Access Manager (TAM) Hi All, Does someone configure Geronimo and TAM ? Is Geronimo's JACC interface mature enough ? Can I use Geronimo's JACC to integrate with TAM ? Any experience ? Thanks!!!1GB gratis, Antivirus y AntispamCorreo Yahoo!, el mejor correo web del mundoAbrí tu cuenta aquí--No virus found in this incoming message.Checked by AVG Free Edition.Version: 7.1.375 / Virus Database: 267.14.23/240 - Release Date: 25/01/2006--No virus found in this outgoing message.Checked by AVG Free Edition.Version: 7.1.375 / Virus Database: 267.14.23/242 - Release Date: 26/01/20061GB gratis, Antivirus y AntispamCorreo Yahoo!, el mejor correo web del mundoAbrí tu cuenta aquí
Re: deploying EJB with CMR
When you have a one-to-many relationship, you only need mapping information for one ejb-relationship-role in your openejb-jar.xml. I'm not sure if that's causing the problem, but can you remove one of the two and try that? See example 12.8 at http://chariotsolutions.com/geronimo/ejb-structure.html#id2612837 Thanks, Aaron On 1/27/06, Milan Unger [EMAIL PROTECTED] wrote: Hi, I'm trying to deploy ear application with EJBs on Geronimo-1.0. The same application deploys without a problem on Geronimo-1.0M5. After transforming dependency format and parentIds for Geronimo 1.0 release I still got following error from the deployer: Target TransactionBean does not have foreign key attribute transactionid. Bellow are some snippets from openejb-jar.xml. Do you know a reason for this problem? Regards, Milan. -- entities affected -- entity ejb-nameTransactionBean/ejb-name local-jndi-nameejb/TransactionLocalHome/local-jndi-name table-nametransactions/table-name !-- table creation command -- !-- CREATE TABLE transactions( transactionid INTEGER NOT NULL PRIMARY KEY, ledgerid INTEGER NOT NULL, date DATE, marker VARCHAR(32)) -- cmp-field-mapping cmp-field-namekey/cmp-field-name table-columntransactionid/table-column /cmp-field-mapping cmp-field-mapping cmp-field-namedate/cmp-field-name table-columndate/table-column /cmp-field-mapping cmp-field-mapping cmp-field-namemarker/cmp-field-name table-columnmarker/table-column /cmp-field-mapping key-generator sequence-table table-namesequences/table-name sequence-nametransaction/sequence-name batch-size1/batch-size /sequence-table /key-generator naming:resource-ref naming:ref-namejdbc/CoordinatorDb/naming:ref-name naming:resource-linkCoordinatorDataSource/naming:resource-link /naming:resource-ref /entity entity ejb-nameTransactionLineBean/ejb-name local-jndi-nameejb/TransactionLineLocalHome/local-jndi-name table-nametlines/table-name !-- table creation command -- !-- CREATE TABLE tlines ( lineid INTEGER NOT NULL PRIMARY KEY, transactionid INTEGER NOT NULL, accountid INTEGER NOT NULL, side CHAR(1) DEFAULT 'C', ammount INTEGER, CONSTRAINT FK_TLINES_TRANSACTION FOREIGN KEY (transactionid) REFERENCES transactions(transactionid)) -- cmp-field-mapping cmp-field-namekey/cmp-field-name table-columnlineid/table-column /cmp-field-mapping cmp-field-mapping cmp-field-nameside/cmp-field-name table-columnside/table-column /cmp-field-mapping cmp-field-mapping cmp-field-nameammount/cmp-field-name table-columnammount/table-column /cmp-field-mapping key-generator sequence-table table-namesequences/table-name sequence-nameledger/sequence-name batch-size10/batch-size /sequence-table /key-generator naming:resource-ref naming:ref-namejdbc/CoordinatorDb/naming:ref-name naming:resource-linkCoordinatorDataSource/naming:resource-link /naming:resource-ref /entity -- CMR causing the problem - ejb-relation ejb-relationship-role relationship-role-source ejb-nameTransactionBean/ejb-name /relationship-role-source cmr-field cmr-field-namelines/cmr-field-name /cmr-field role-mapping cmr-field-mapping key-columntransactionid/key-column foreign-key-columntransactionid/foreign-key-column /cmr-field-mapping /role-mapping /ejb-relationship-role ejb-relationship-role relationship-role-source ejb-nameTransactionLineBean/ejb-name /relationship-role-source cmr-field cmr-field-nametransaction/cmr-field-name /cmr-field foreign-key-column-on-source/ role-mapping
Re: Geronimo and Tivoli Access Manager (TAM)
Hi, Some TAM-WAS-JACC docs.This is the WAS's infocenter .http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rsec_jacctroubles.html WAS 6 Security Handbookhttp://www.redbooks.ibm.com/abstracts/sg246316.html?Open ByeDavid Jencks [EMAIL PROTECTED] escribió: On Jan 27, 2006, at 3:38 AM, Cristian Roldan wrote:Hi,Should not be to difficult to create one though.Do you mean coding a JAAS module ?But my question ar: Does geronimo support JACC ? if so can I use the Geronimo's JACC implementation to integrate with TAM ?Bye Geronimo supports JACC, but at the moment you can't really use anything but Geronimo's JACC implementation. I'm going to be looking at making this pluggable very soon.Can you point to any documents indicating how TAM relates to JACC? The only JACC implementation I have seen is ours so seeing what other people get from the spec would be very useful :-)thanks david jencksNicholas Irving [EMAIL PROTECTED]escribió: Hi, I was not aware of a TAI available for Geronimo, but then again I was not aware of JACC in WebSphere 6. Should not be to difficult to create one though.NIrvingFrom: Cristian Roldan [mailto:[EMAIL PROTECTED]] Sent: Friday, 27 January 2006 3:14 AMTo: user@geronimo.apache.orgSubject: Geronimo and Tivoli Access Manager (TAM) Hi All, Does someone configure Geronimo and TAM ?Is Geronimo's JACC interfacemature enough ? Can I use Geronimo's JACC to integrate with TAM ? Any experience ?Thanks!!!1GB gratis, Antivirus y AntispamCorreo Yahoo!, el mejor correo web del mundoAbrí tu cuenta aquí --No virus found in this incoming message.Checked by AVG Free Edition.Version: 7.1.375 / Virus Database: 267.14.23/240 - Release Date: 25/01/2006 --No virus found in this outgoing message.Checked by AVG Free Edition.Version: 7.1.375 / Virus Database: 267.14.23/242 - Release Date: 26/01/20061GB gratis, Antivirus y AntispamCorreo Yahoo!, el mejor correo web del mundoAbrí tu cuenta aquí __Correo Yahoo!Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
Re: Clustering Overview - 10.000 feet...
Hi Jules, I took the liberty to do some very basic formating to your doc and put it in confluence already (I hope you won't mind :) ) Here is the link to the *Geronimo Clustering* doc: http://opensource2.atlassian.com/confluence/oss/display/GERONIMO/Clustering If you are OK with it I could do some additional formatting and editing to match it to the rest of the documentation. Cheers! Hernan Jules Gosnell wrote: Rather than wait for resolution as to where exactly this document should live, I thought I would put this out here before it fossilises on my disc, so that people can get on with giving input. This document is intended to bring together the various threads on clustering into a skeleton which we can begin to flesh out. Thus is is very incomplete... Please don't take offence at ommissions, mistakes, gaps in my understanding, or statement of the obvious - this is just the first broad brushstrokes, as evolved by the various clustering discussions that have happened recently, drawn into a single, slightly more orderly document - everything can change... Until it finds a permanent home, I am happy to look after it and endeavour to keep it up to date with any new threads. if you have a particular change that you would like made, please let me know and I will ensure that it gets in. I hope this will give birth to a few more threads to fill in sparse areas. Then we can hooks refs to this back into the doc and continue forward Jules Geronimo Clustering Overview - 10,000 feet... Clustering is one of the key features that distinguishes an enterprise JEE implementation from the rest of the pack. As such it is an important requirement for Apache Geronimo. By using clustering technology to provide a scalable and highly available platform for JEE deployment, Apache Geronimo will be able to compete on equal terms with existing commercial offerings. This document will begin the task of : - enumerating clustering requirements in Geronimo's tiers - abstracting out commonality from these - cataloguing software available to us that may be used to implement them - suggesting a clustering architecture A 'Cluster' is an architecture that achieves scalability and high availability through the arrangement of multiple smaller, cheaper, less reliable, resources, rather than single large, expensive, extremely reliable ones. Scalability is ensured by decoupling dependencies on shared resources so that related tasks may be run concurrently on many machines (nodes) in the cluster without interfering with each other. If your architecture achieves this, you can scale to service more users by just adding more nodes. High Availability is achieved through redundancy. If one less-reliable node fails, you fail-over to the next. In this way, the availability of your system becomes not the sum, but the product of the availability of its constituent nodes. The presence of State in a cluster, frustrates the achievement of both of these goals, through being a point of shared contention (many tasks may need to read/write the same piece of state at the same time) and a point of failure (if state is held in a fragile resource e.g. memory, that is lost, then so is the state i,e, it is no longer available). Partitioning state can help restore scalability and making and maintaining multiple copies of state (replication) can be used to circumvent contention issues. Both solutions lead to further smaller problems such as ensuring that processes are run in the same partition as their state and ensuring consistancy of view across multiple copies of state etc.Other solutions and further problems abound. The number of different uses of state within a cluster precludes the possibility of a single effective solution. So we need to devise solutions for each usecase within Geronimo. We will enumerate and examine these usecases. Web --- URL: http://java.sun.com/products/servlet/download.html#specs Interest Group: Jules Gosnell, Jan Bartel, Jeff Genender, David Jencks,... Clustering in the web-tier has two points of implementation : The HTTP Load Balancer: - our solution should work with any load-balancer - we can expect the LB to support some form of affinity (sticky or persistant sessions). The HttpSession: - large numbers of potentially large objects (more data in the tier than can comfortably be held in one node) - needs partitioned cache - typically frequently written - typically frequently read - typically a single consumer/client - transactionless - only one copy of an HttpSession may be 'active' at any one time - multi-threaded - pessimistic - suggested impl - WADI N.B.: Some other solutions allow the clustering of more than just the HttpSession. The spec only requires that data stored in the HttpSession is distributable. Dev Threads WADI and Network Partitions: